CentOS6.5のサーバー起動時に実行するように登録されているいくつかのスクリプトを作成しています。
このスクリプトの1つには、boot(init.d)中にも開始されている別のプロセスのログで正常な開始メッセージが見つかるまでブロックするwhileループがあります。
スクリプトが依存しているこのサービスが、正常な開始をログファイルに記録せず、whileループで永久にスクリプトがハングする場合、この特定のシナリオにより、オペレーティングシステムが完全にハングし、開始しなくなりますか? init.dスクリプトにタイムアウト設定はありますか?
私のスクリプトは、rc.localファイルで実行するように登録されています。
Init.dスクリプトが終了しない場合、通常のシステム起動が無期限に中断されます。
一般的な解決策の1つは、whileループにカウンターを組み込み、指定した数のwhileループの後にエラーメッセージを表示して終了することです。タイムアウトオプションのない外部コマンドを待っている場合は、 this の質問を参照してください。