How to Kill Zombie Processes on Linux

###How to Kill Zombie Processes on Linux

 Defunct processes may also be known as "zombie" processes. They do not use any system resources - CPU, memory etc. but may be seen as entries in their respective operating system process table. 

 A zombie is already dead, so you cannot kill it. To clean up a zombie, it must be waited on by its parent, so killing the parent should work to eliminate the zombie. (After the parent dies, the zombie will be inherited by pid 1, which will wait on it and clear its entry in the process table.) If your daemon is spawning children that become zombies, you have a bug. Your daemon should notice when its children die and wait on them to determine their exit status. 


 ##What Causes Zombie Processes on Linux?

 A poorly written parent process might not call the wait() function when the child process is created. This means nothing is watching for state changes in the child process, and the SIGCHLD signal will be ignored. Or, perhaps another application is affecting the execution of the parent process, either due to poor programming or malicious intent.


 [oracle@oracle ~]$ ps -ef|grep zombie 

oracle 175489580 0 11:33 pts/0 00:00:00 grep --color=auto zombie

No comments:

ORA-01552: cannot use system rollback segment for non-system tablespace 'TEMP'

 ORA-01552: cannot use system rollback segment for non-system tablespace "string" Cause: Used the system rollback segment for non...