シナリオ:私たちはLinuxデーモンを持っています。 Alpha forks/execsは子プロセスBravoをフォークします。ブラボーはいくつかの子プロセスを生成し、チャーリーとデルタと呼んでいます。Linux - 死に至るプロセス(自分自身の孫)のすべての子供を見つける
Alpha | \-Bravo | \-Charlie | \-Delta
ブラボーが死ぬ。 Alphaにはsig子ハンドラがインストールされています。これは起動します。
私はAlphaからブラボー(チャーリーとデルタ)のすべての子供たちを見つけても、私もそれらを殺すことができますか?
私が観察したことは、ブラボーがいったん殺されると、チャーリーとデルタはinitの子になります(pid = 1)。ブラボーの子供が再割り当てされる前にプロセスツリーを調べること、または2)ブラボーの子供がアルファによって継承されていることをどうにかすることができることが必要です。それが事実なら、私は(アルファの)自分の子供たちのなかにいた人を選別することができました。
素晴らしいです。私はあなたの提案をテストしました。これはまさに私が必要としていたものです。 –