システムの起動時に実行された場合に特定のオプションを指定してコマンドを実行するinit.dスクリプトを作成しています。ユーザーが手動でスクリプトを実行している場合は、同じスクリプトで他のオプションを使用してコマンドを実行する必要があります。
たとえば、ネットワークスクリプトでは、システムの起動時に実行されていた場合、ONBOOTで構成する必要があるかどうかによっては、特定のネットワークインターフェイスが起動されません。そうしないと、ユーザーがネットワークスクリプトを手動で実行している場合(サービスネットワークの開始)、すべてのネットワークインターフェイスが起動します。
これを実現する1つの方法は、親rcスクリプトから「/tmp/.boot」というファイルを作成することです。このファイルは、すべての起動スクリプトが実行された後に削除されます。次に、initスクリプトで、ファイル/tmp/.bootの存在を確認して、スクリプトが起動シーケンスの一部として実行されているかどうかを判断します。
システムが起動シーケンスにあることを知るための既存の方法があるかどうか疑問に思いました。/ proc /または他の場所にある何かが、システムがそのブートシーケンスにあることを教えてくれますか?
あなたの提案を楽しみにしています。
よろしくお願いします〜Sameer