
halt
Unixシリーズシステムが、shutdown
等poweroff
、またはそれに対応するGUIを使用して正常に終了すると、まずSIGTERM信号を発行してすべてのプロセスを正常に終了しようとします。しばらくして、まだ実行中のプログラムにSIGKILLを送信してください。
この遅延はどのくらいかかりますか?プログラムが正常に終了するのにどのくらいかかりますか?システムごとに異なる場合は、Ubuntu Serverの具体的な基本設定を知りたいです。
編集:Systemdの90年代の遅れは説明されていますか?ここ?
答え1
Systemd サービスは、独自の開始および終了タイムアウトを指定できます。指定しない場合は、システム構成ファイルに値が設定されます。構成ファイルに設定されているデフォルトの開始時刻と終了時刻はすべて90秒です。
TimeoutStopSec=
このオプションは2つの目的に使用されます。まず
ExecStop=
、各コマンドを待つ時間を設定します。これらのタイムアウトが発生すると、ExecStop=
後続のコマンドをスキップしてサービスを終了しますSIGTERM
。コマンドを指定しないとすぐにExecStop=
サービスをSIGTERM
受けます。次に、サービス自体が停止するのを待つ時間を設定します。指定時間内に終了しない場合は強制終了します。SIGKILL
(KillMode=
systemd.kill(5)を参照)単位なしの秒単位の値、または「5min 20s」などの時間範囲値を使用します。タイムアウトロジックを無効にします"infinity"
。DefaultTimeoutStopSec=
管理者構成ファイルのデフォルト値(systemd-system.conf(5)を参照)
そしてからsystemd-system.confのマニュアルページ:
DefaultTimeoutStartSec=
、、、DefaultTimeoutStopSec=
DefaultRestartSec=
デバイスの起動と停止のデフォルトタイムアウトの設定およびおよびデバイスごとに構成されているデバイスの自動再起動間のデフォルトのスリープ時間です
TimeoutStartSec=
(サービスの場合、デバイス固有の設定の詳細については、systemd.service(5)を参照)。サービスを使用している場合、デフォルトでは無効になっています。非サービスユニットの場合は、デフォルト値を設定します。TimeoutStopSec=
RestartSec=
Type=oneshot
DefaultTimeoutStartSec=
TimeoutSec=
DefaultTimeoutStartSec=
デフォルト値DefaultTimeoutStopSec=
は90秒です。DefaultRestartSec=
デフォルトは100ミリ秒です。