解決策 1:
ゾンビ/無効なプロセスを削除できる唯一の方法は、親を殺すことです。親は init (pid 1) であるため、システムも停止します。
これにより、ほとんど2つのオプションが残ります。
- プロセス テーブルを手動で変更します。ダミープロセスを作成し、無効なプロセスをダミーの子としてリンクしてから、それらを強制終了します。非常に危険であり、セマフォやファイル ハンドルなどの他のプロセス リソースを手動でクリーンアップする必要がある場合があります。
- システムを再起動します。
私は 2 番目を選びます。
解決策 2:
カーネル パニックが発生したかどうかを確認します。
# dmesg |tail
プロセスが「D」Unkillableスリープにあるかどうかを確認します。ここでは、まだ返されていないsyscallのカーネルモードになっています(カーネルoopsまたはその他の理由)http://www.nabble.com/What-causes-an -unkillable-process--td20645581.html
解決策 3:
init を再起動してみてください:
# telinit u
そうでなければ、私はあまり心配しません。実行されておらず、リソースも消費せず、カーネルが記憶できるようにそこにあるだけです。
解決策 4:
ゾンビが親として init を持っている場合、init は適切に機能しなくなります。 init の役割の 1 つは、ゾンビをクリーンアップすることです。それをしなければ、他の誰もしません。したがって、唯一の解決策は再起動することです。 init が壊れていると、再起動に失敗する可能性があるため、重要なサービスをシャットダウンし、ファイルシステムを同期してから、代わりに電源ボタンを押します。
解決策 5:
パニックを抑えましょう。 「消滅」または「ゾンビ」プロセスはプロセスではありません .これは、終了コードが保存された、プロセス テーブル内の単なるエントリです。したがって、ゾンビはプロセスではないため、リソースを保持せず、CPU サイクルも使用せず、メモリも使用しません。 .ゾンビ プロセスを "kill" しようとして奇妙でかゆくならないでください。彼らの同名のように、彼らはすでに死んでいるので殺すことはできません.しかし、脳を食べる種類のものとは異なり、彼らは絶対に誰にも害を及ぼさず、他のプロセスを噛むこともありません.
ゾンビ プロセスに頭を悩ませてはいけません。無視してください。