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