1. ホーム
  2. linux

[解決済み] プロセスグループの全メンバーにシグナルを送るには、どのような方法が良いでしょうか?

2022-03-23 15:02:59

質問

プロセスツリー全体を強制終了したいです。 一般的なスクリプト言語を使ってこれを行う最良の方法は何でしょうか?私は、シンプルな解決策を探しています。

解決方法は?

Killしたいツリーが単一のプロセスグループであるかどうかが書かれていません。 (サーバーの起動やシェルのコマンドラインからフォークした結果のツリーである場合、このようなケースがよくあります)。 GNU psを使って、以下のようにプロセスグループを発見することができます。

 ps x -o  "%p %r %y %x %c "

kill したいのがプロセスグループなら kill(1) コマンドを使用しますが、プロセス番号を指定する代わりに ネゲーション のグループ番号を指定します。 たとえば、グループ 5112 のすべてのプロセスを kill するには、次のようにします。 kill -TERM -- -5112 .