Removing defunct (zombie) processes

From: Robert L. McMillin <rlm_at_syseca-us.com>
Date: Thu, 5 Jun 1997 09:23:52 -0700

Since I see that more than one person has asked this question, I think
my response to Francesco Zerra <zerra_at_cmns.mnegri.it> bears repeating:
the important thing is to kill AND restart the parent process if it's
spawning intolerable numbers of zombie children. The example given by
Francesco...

>_at__at_ [root] # ps -ef | grep defunct
>_at__at_ www 22461 23163 0.0 - ?? 0:00.00 <defunct>
>_at__at_ root 17073 17062 0.0 13:35:58 lat/624 0:00.01 grep defunct
>_at__at_ [root] # kill -9 23163
>_at__at_ [root] # ps -ef | grep defunct
>_at__at_ root 16176 17062 0.0 13:36:21 lat/624 0:00.01 grep defunct

... doesn't show that he'd found the parent that created the zombies,
nor that he'd restarted it, only that he'd killed it. For all he knows,
he may have clobbered a vital system service -- say, sendmail. This
would be Bad.

Now it's my turn to pose a question to the audience: other than process
slots, what system resources do zombies absorb? Ignoring the worst-case
scenario where zombies become so numerous as to cause fork() to fail, it
really worth restarting their ill-mannered parents to get said zombies
out of the process table?

-- 
Robert L. McMillin | Not the voice of Syseca, Inc. | rlm_at_syseca-us.com
	   Personal: rlm_at_helen.surfcty.com | rlm_at_netcom.com
Received on Thu Jun 05 1997 - 18:49:02 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:36 NZDT