Can somebody please explain when parent process receives the exit status of a dead child process via wait, who actually reallocates the memory of the child process and removes it from the process table?
|
|
||||
|
|
migrated from stackoverflow.com Jun 30 '11 at 14:26
|
Kernel assumes that the parent process is interested in knowing the result of the child process that it forked. First the child process sends to parent If the return status is not retrieved, child remains a zombie. However if the parent process exists before the child process, the child is adopted by |
|||||
|
|
Manipulating the process table and the memory mappings is always the kernel's job. The kernel acts when some process makes a system call. When a process exits, all of the resources that it uses, including memory, except for the entry in the process table, are deleted − that's what the |
|||
|
|