On Thu, 2010-10-28 at 09:08 -0700, James Mckenzie wrote: > Huh? That is not what I know. A Zombie or defunct process is one > that did not exit cleanly (I have that with a product I use when I > start it up, it spawns all sorts of child processes and four of them > do not exit.) > Neither of us were entirely right. A zombie is a child which exited for any reason but whose parent hasn't (yet) read its exit status. A zombie should have released all resources apart from the process control block, which is retained until its parent has read the termination status. If the parent exits without reading the zombie's termination status it gets inherited by init, which reads the status and so gets rid of the zombie. IOW, all child processes become zombies, but normally for a very short period: for a zombie to persist for any length of time implies that its parent has hung. Probably its either waiting for an event that will never happen or is stuck in a loop that isn't checking for its children to terminate. > This is really a rough way to do this and will kill any running > ssh/login sessions if you are logged in as that user. > Nope. It will only kill named processes but its a system-wide kill unless you use the -u option to limit its effect to a specific user. I've used it many times undel Linux and haven't yet had it kill anything I haven't wanted it to kill. BUT, in any case the OP's problem isn't in the zombie processes. Rather, its in the process that spawned them. Run the command: ps -fu xxxx where 'xxxx' is the name of your user. Find a zombie in the list and look at the third (PPID) column, which identifies the parent process. Find that in the second column and that's the process that is causing the problem. Martin