Skip to main content

ゾンビのプロセスとは何ですか?

ゾンビプロセスは、実行が終了したにもかかわらず、プロセステーブルレコードを保持するコンピュータープログラムのインスタンスです。これらのような廃止プロセスは、通常、Unix&Reg;に関連付けられています。子どものプロセスを処理する方法により、他の同様のオペレーティングシステム。子のプロセスが実行が終了した場合、親は通常、プロセステーブルから削除する責任があります。通常、キルコマンドでゾンビプロセスを直接削除することはできませんが、オペレーターがSignal Child(Sigchld)通知を使用する場合、親はそれを削除することがよくあります。これに失敗すると、ゾンビプロセスは親を殺すことによって間接的に削除される可能性があります。Unix&Reg;の廃止プロセス同様のオペレーティングシステムは、意図した機能を実行しなくなったにもかかわらずプロセステーブルの存在を維持するという点で、ゾンビに類似していると見なすことができます。プロセスの実行が終了した場合、それは時々死んだと言われますが、オペレーティングシステムがそのプロセステーブルの割り当てを回復する手段は、刈り取りとして知られている可能性があります。ゾンビの親のプロセスは技術的には子供を刈り取ることになっていますが、これは常に起こるとは限りません。子どものプロセスが実行を停止した後、親は後で同じプログラムの別のインスタンスを実行する必要がある場合があります。ゾンビがプロセステーブルから削除されていない場合、新しい子供は老児と同じ識別(ID)を割り当てられません。特定のプログラムは、この種の差別化から恩恵を受けるか、さらには必要になる場合があります。これは通常、Kill Commandを介して行われ、Sigchld信号を親プロセスに送信します。すべてが正常に機能している場合、この信号を受信する親プロセスは、IDとプロセステーブルの位置を再利用できるように、ゾンビの子供を刈り取る必要があります。これが発生し、オペレーターがプロセステーブルをクリアすることを依然として望んでいる場合、親プロセスが殺される可能性があります。親プロセスが作成したゾンビは、その後、INITプロセスに子供として割り当てられます。INITは定期的に子供の待機コマンドを開始するため、最終的に責任があるゾンビはプロセステーブルから削除されます。