stopping(7) | Miscellaneous Information Manual | stopping(7) |
名前¶
stopping - ジョブが停止していることを示すイベントです
概要¶
stopping JOB=JOB INSTANCE=INSTANCE RESULT=RESULT [PROCESS=PROCESS] [EXIT_STATUS=STATUS] [EXIT_SIGNAL=SIGNAL] [ENV]...
説明¶
stopping イベントは、ジョブのインスタンスが停止し始めた時に Upstart init(8) デーモンによって生成されます。JOB 環境変数にはジョブ名が含まれており、INSTANCE 環境 変数にはシングルインスタンスジョブ用に空になるインスタンス名が含まれています。
ジョブが正常に停止した場合、 RESULT 環境変数は ok となり、それ以外に 失敗の為にジョブが停止する場合には、failed となります。
ジョブが失敗すると、失敗したプロセスは PROCESS 環境変数に置かれます。 これは、pre-start、 post-start、main、pre-stop、post-stop の いずれかになります。また、ジョブが再産出の限度に到達した為に停止していることを示す 特別な値、respawn にもなります。
最後に、失敗したケースでは停止の原因を示す為に EXIT_STATUS か又は EXIT_SIGNAL が与えられます。EXIT_STATUS がプロセスの退出ステータス コードを含んでいるか、又は EXIT_SIGNAL がプロセスが受理したシグナルの名前を 含んでいるかのいずれかです。normal exit ジョブの設定スタンザを使用することで ジョブの失敗に継るような特定の退出ステータス値やシグナルを阻止することができます。
失敗したプロセスに EXIT_STATUS か EXIT_SIGNAL のいずれも与えられ ない場合、それはプロセスが産出(spawn)に失敗したからです(例えば、ファイル検出失敗)。 このエラーのシステムログを確認して下さい。
init(8) はこのイベントで開始される全てのサービスが実行するまで、 そしてこのイベントで開始される全てのタスクが停止するまで、そして このイベントで停止される全てのジョブが停止するまで待ってからジョブが 停止できるようにします。
これにより、ジョブは他のジョブに依存できるようになってその依存関係が無くなる 前に自身を安全に停止できるようになります。このイベントは一般的にサービスによって started(7) イベントと組み合わされます。
ジョブの設定ファイルは export スタンザを使用して環境変数をそれ自身の環境から stopping イベントにエクスポートすることができます。詳細は init(5) で ご覧下さい。
例¶
他のサービスに依存を望むサービスは以下を使用するでしょう:
start on started apache stop on stopping apache
他のタスクやサービスが停止する前に実行する必要があるタスクは以下を使用するでしょう:
start on stopping postgresql RESULT=ok
補足参照¶
2009-07-09 | Upstart |