When a process has ended, signals are emitted to it's parent to indicate that the process is done. This does not delete the process however, information about the process remains with the system until such time as the parent checks that signal. The process becomes a zombie until the exit signal is checked.
The reason for this is closure.
Rather than have that process go away and never give an understanding as to why it went away, it stays as a zombie so that the parent...