web-dev-qa-db-ja.com

killall(時々?)を2回適用する必要があるのはなぜですか?

Killall(時々?)を2回適用する必要があるのはなぜですか?これが です。ここで、プロセスを終了するには「double」killallが必要です。

プロセスを「2回」強制終了する必要があるのはいつ、なぜですか。ボンネットの下で何が起こりますか?

2

アプリケーション固有の可能性について説明します。

killall programを使用すると、SIGTERM(シグナル15)がプログラムに送信されます。 SIGTERMに対する通常の応答は、プログラムが正常に終了することです。

SIGTERMがキャッチ可能であるため、プログラムはSIGTERMのシグナルハンドラーを持つことができ、最初のSIGTERM(最初のkillall)を受信すると何らかのタスクを実行します。そして、2番目のSIGTERMがそれを終了するだけの状態に戻ります(デフォルトのアクション)。もちろん、これはプログラムの開発者に大きく依存しており、一般的なケースではありません。

2
heemayl