プロセステーブルからゾンビプロセスを削除する

プロセステーブルからゾンビプロセスを削除する

親プロセスが死んだ子プロセスの終了ステータスを受け取ると、wait実際に子プロセスのメモリを再割り当てし、プロセステーブルから削除する人が誰であるかを説明できますか?

ベストアンサー1

プロセステーブルとメモリマップの操作は常にカーネルの操作です。プロセスがシステムコールを行うと、カーネルはアクションを取ります。プロセスが終了すると、プロセスが使用したすべてのリソース(プロセステーブルのエントリを除くメモリを含む)が削除されます。これが_exitシステムコールが実行するアクションです。次に、親プロセスがまたはをwait呼び出すとき、waitpidそのシステムコール操作の一部はプロセステーブルエントリをクリーンアップすることです。親プロセスはwait必要に応じて呼び出すことができます(親プロセスがあればほぼ常にinit呼び出さwaitれます)。

おすすめ記事