0

/opt 内に samba マウントがあります。rc6.d にリンクされている sysinit というスクリプトが init.d にあります。これは再起動時に呼び出され (最初に K01sysinit に設定しました)、/opt ディレクトリをアンマウントすることになっています。ただし、再起動すると、rc.sysinit ファイルのコマンドから失敗していることがわかります。sysinit スクリプトを手動で実行してから再起動すると、すべて正常に動作します。ここで、他のスクリプトが /opt のアンマウントを完了する前に rc.sysinit umount コマンドが実行されるというある種の競合状態に陥っているのでしょうか、それとも何か他のことが起こっているのでしょうか? または、実行レベルがどのように機能するかを理解していませんか? 再起動時に何が起こったかは、rc6.d のものが最初に実行され、次に rc.sysinit からのアンマウントが発生することだと思いました。

4

1 に答える 1

1

私が見つけた解決策は、作成したサービスが「実行中」であることを rc.sysinit ファイルが認識できるように、/var/lock/subsys にロック ファイルを作成する必要があるということでした。それがなければ、必要な KXXsysinit シンボリックリンクが作成されないため、シャットダウンまたは再起動時に「停止」コマンドでスクリプトが実行されます。

于 2011-11-17T16:44:35.910 に答える