web-dev-qa-db-ja.com

upstartがハングしたときにデバッグする方法は?

最近、新興企業によって開始されたサービスに多くの問題があります。現在、avahi-daemonとrsyslogdに問題があります。ほとんどの場合、Ubuntu> = 12.04でその問題が発生しました。

問題は何ですか?このようなサービスを停止すると、停止スクリプトがハングします(1台のサーバーで2日間待機)。強制終了すると、サービスは次の状態のままになりますstop/killed, process <pid>文書化されていません(文書化されているのはstop/killedだけです!)。サービスは本当にダウンしています。

service <service> startでサービスを再度開始しようとすると、開始スクリプトもハングします。

それに対する私の質問は次のとおりです。そのような問題をどうすればdebug開始/停止スクリプトは、ある時点では何もしません。これが原因であるのは私にはわかりません。 unattended-upgradesでも問題がありました

6
tvn

システムUpstartジョブを開始するコマンドはSudo start <service>です。バージョン6.10以降。 Upstartは、ブート/シャットダウン中にタスクとサービスの開始と停止を処理し、システムの実行中にそれらを監視する/ sbin/initデーモンを置き換えました。 [1]

ログファイルは/var/log/upstart/<service>.logにあります。ログの優先度をデフォルトmessageからdebugに増やすと詳細。 [2]

問題は、job stop/killled, process nnnというステータスのジョブを作成するexpect forkスタンザの誤った使用が原因です。 [3]

6
Goran Miskovic