web-dev-qa-db-ja.com

シャットダウン時に手動のアップスタートサービスはどうなりますか?

InitスクリプトまたはオーバーライドUpstartスクリプトでmanualキーワードを使用する場合、サービスのシャットダウンプロセスが開始されるのか、シャットダウン時に強制終了されるのかは明確ではありません。

たとえば、手動オーバーライドが使用されている場合、MySQLのデフォルトのタイムアウトは延長されますか(initスクリプトで指定されているように、バッファーをフラッシュするのに十分な時間を与えます)?そうでない場合は、start on never設定を使用することをお勧めしますか、または手動で開始したサービスも手動でシャットダウンする必要がありますか?

pstart Cookbook については、ほとんど何も言いません。

3
Oleg

これはあなたが提供したリンクで本当にはっきりしているので、あなたは何かを見落としたに違いないと思います:

5.2.1観察

システムのシャットダウンに関連するいくつかの重要なポイントがあります。

[...]

  • Upstartは、stop on条件のないジョブを停止することはありません。

[...]

5.2.2シャットダウンプロセス

[...]

実行されるスクリプトの1つは/etc/init.d/sendsigsです。

このスクリプトは、まだ停止されていない残りのプロセス(Upstartプロセスを含む)を強制終了します。

このsendsigsスクリプトでは、次のように説明されています。

Upstartにはkillタイムアウトを設定するメソッドがあるため、ジョブの作成者は(mysqlの場合のように)10秒より長く待機するように要求する場合があります。 (LP:#688541)

停止/終了状態のジョブを最大300秒待機します。それ以上のkillタイムアウトは、シャットダウンする必要があるため上書きされます。すでに最大10秒待機していたため、上記のseqの再利用に注意してください。

4
gertvdijk

手動スタンザは、ジョブの開始を指します。 pstart Technical Overview:Manual stanza を参照してください。したがって、オーバーライドされた構成ファイルで定義された停止スタンザは完全に尊重されます。

MySQLサーバーの場合、 pre-startpost-start および kill timeout スタンザを定義/オーバーライドすることがより重要です。詳細については、デフォルトのmysql.confを確認してください

cat /etc/init/mysql.conf

ブログエントリ MySQLの自動起動および停止用のUbuntuアップスタート には、デフォルトのMySQLアップスタート構成ファイルを改善する方法に関するいくつかのアイデアがあります。

3
Goran Miskovic