プロセスグループとは何ですか?誰かがすでに質問して答えたことがありますか?ここ:
プロセスグループは、同時に信号をエクスポートできる関連プロセスの集まりです。
残念ながら、「すぐにシグナルを送信できる一連の関連プロセス」をいつどのように開始するかについての実際の例はありません。
ここで誰でもプロセスグループを起動し、を使用してその中のすべてのプロセスを終了するコード例を与えることができますかkill -- -0
?
たとえば、Apache Webサーバーとその子プロセスはプロセスグループになり、デフォルトプロセスが終了するとプロセスグループ内の残りのPIDも終了しますか?
ベストアンサー1
実際の世界には多くの例があります。some_app
リンクされた質問でls
よりcat
複雑な例があるかもしれません。
$ ps axo ppid,pid,pgid,command | grep $$
41613 2926 2926 mksh -l
2926 14131 14131 ps axo ppid,pid,pgid,command
2926 14132 14131 grep 2926
$
これは、シェル()がメンバーがmksh
新しいプロセスグループ()を起動したことを示します。彼らがさまよっていないという事実でなければ、信号を受け取ることができるので、ある種のブロックが必要になるでしょう。14131
14131
14132
sleep
$ perl -e 'warn $$; sleep 999' | perl -ne 'sleep 999'
14148 at -e line 1.
その後、別の場所に走ってkill -- -14148
グループを殺すことができます。