3

私は Linux 用に開発しており、デーモンが強制終了されたときにディスクに書き込む必要があります。SIGTERMデーモンは、そのシグナルを受信したときにディスクをリッスンしてディスクに書き込むように構成できます。

また、ログイン マネージャーPrepareForShutdownが発行する D-Bus シグナルにも精通しています。リッスンすると、シャットダウンを禁止してシグナルをリッスンするよりもコードが単純になります。のもう 1 つの利点は、システムがシャットダウンしてもデーモンが丁寧に強制終了された場合を処理できることです。SIGTERMPrepareForShutdownSIGTERM

SIGTERMただし、シャットダウン時にカーネルによって送信されるシグナルに依存することがどれほど安全かはわかりません。シャットダウンSIGTERM時に、ディスクへの小さい (< 1 kB) 書き込みを実行するのに十分な時間があるすべてのプロセスに常に送信されますか?

私が懸念していることの 1 つは、一部のハードウェアではディスクに書き込むのに十分な時間があり、他のハードウェアではそうでない可能性があるため、テストが難しいように思われることです。信号についても同じことが言えますPrepareForShutdownが、少なくともディスク書き込みに十分な時間を許可することは、その信号の契約の一部です。SIGTERM私の質問は、すべてのプロセスがシャットダウン時に受け取るシグナルについても同じことが言えるかどうかです。

4

1 に答える 1