Zombie Process : A child that terminates, but has not been waited for becomes a "zombie".
Parent does not grab status of child process using wait() or waitpid() system call. The kernel maintains a minimal set of information about the zombie process (PID, termination status, resource usage information) in order to allow the parent to later perform a wait to obtain information about the child. As long as a zombie is not removed from the system via a wait, it will consume a slot in the kernel process table, and if this table fills, it will not be possible to create further process If a parent process terminates, then its "zombie" children (if any) are adopted by
init(8), which automatically performs a wait to remove the zombies.
Orphan Process:
In Linux/Unix like operating systems, as soon as parents of any process
are dead, re-parenting occurs, automatically. Re-parenting means
processes whose parents are dead, means Orphaned processes, are
immediately adopted by special process “init” PID: 1 . Thing to notice here is
that even after re-parenting, the process still remains Orphan as the
parent which created the process is dead.
Orphan process are totally different from Zombie processes. Zombie
processes are the ones which are not alive but still have entry in
parent table.
Orphan processes take resources while they are in the system, and can
potentially leave a server starved for resources. Having too many Orphan
processes will overload the init process and can hang-up a Linux
system. We can say that a normal user who has access to your Linux
server is capable to easily kill your Linux server in a minute.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment