システム起動時に実行されていた場合、特定のオプションを持つコマンドを実行するinit.dスクリプトを書いています。ユーザーが手動でスクリプトを実行していた場合は、同じスクリプトで他のオプションを使用してコマンドを実行する必要があります。linux:実行中のinit.dスクリプトがシステム起動シーケンスの一部として実行されているかどうかを調べる
たとえば、ネットワーキングスクリプトで、システム起動時に実行されていた場合、ONBOOTを設定する必要があるかどうかによって、特定のネットワークインターフェイスが起動しません。それ以外の場合、ユーザーがネットワークスクリプト(サービスネットワークの開始)を手動で実行していた場合は、すべてのネットワークインターフェイスが起動されます。
私がこれを達成できる方法は、すべての起動スクリプトが実行された後に削除される、親rcスクリプトから "/tmp/.boot"というファイルを作成することです。そして、initスクリプトで/tmp/.bootファイルの存在をチェックして、スクリプトが起動シーケンスの一部として実行されているかどうかを判断します。
システムがブートアップシーケンスに入っていることを知る既存の方法があるかどうか疑問に思っていました。/proc /などのどこかで、システムがブートシーケンスに入っていることがわかりますか?
あなたのご提案をお待ちしています。
おかげで、よろしく 〜サミール
だと、私はそのようなスクリプトを書いていないことを確認します。 –