ゾンビプロセスの多いサーバーがあります。ほぼ布。可能であれば、これらのプロセスを収集したいと思います。これは、親プロセス(1000個のゾンビをすべて引き起こす1つの親プロセス)がスタンバイ機能を呼び出さないようです。 Bashにはスタンバイ機能が組み込まれていますが、それを使用してゾンビの1つを収穫しようとすると、次のエラーが発生します。
# wait 17517
bash: wait: pid 17517 is not a child of this shell
私はルートですが、違いはないようです。いくつかの質問があります。
- 私のシェルの子プロセスではない場合、ゾンビプロセスを取得できますか?
- そうでなければ、私ができることはありませんか?両親を殺すべきかどうかわかりません。
- 心配すべきでしょうか?親にリソースリークがあり、ガベージコレクションなどがないようです。
答え1
- 私のシェルの子プロセスではない場合、ゾンビプロセスを取得できますか?
いいえ、できません。
- そうでなければ、私ができることはありませんか?両親を殺すべきかどうかわかりません。
親プロセスを停止し、無視されたexec
シェルから再起動してみることができますSIGCHLD
。無関心な親はSIGCHLD
ゾンビを一人で置かない。
- 心配すべきでしょうか?親にリソースリークがあり、ガベージコレクションなどがないようです。
ゾンビの人口が増加すると、最終的に新しいプロセスをフォークできないポイントに到達します。