6

When I run top I see one line that doesn't look too good:

 2475 www-data  20   0     0    0    0 Z    1  0.0   0:00.19 apache2 <defunct> 

Why is this process <defunct> and what should I do about it?

3 Answers 3

7

It is harmless. You can ignore it. It is a zombie process. The man page for ps has

Z    Defunct ("zombie") process, terminated but not reaped by its parent.

See also the Wikipedia page on Zombie process.

If you really want to get rid of it, restarting apache2 may do the trick. Rebooting the machine will certainly make it go away, but that is definitely not necessary.

This question is similar. - How can I kill a <defunct> process whose parent is init?

3
  • It's actually interesting because I just finished rebooting the machine and the process was sitting there in the list. Thanks for your help. Commented Dec 9, 2011 at 5:31
  • What if they come even after rebooting or restarting apache? This is happening on two of my servers? Commented Feb 9, 2015 at 13:24
  • @Sai it shouldn't come up after rebooting. If you have a question, ask it. Commented Feb 9, 2015 at 13:35
3

Defunct processes are zombie processes. The kill command has no effect on a zombie process. These can be killed by killing the parent process. You can find parent from the PPID value. If the PPID is 1(init) i.e. process is adapted by init as the parent is no more, then rebooting is the only solution.

3

You can send a SIGCHLD signal to the parent process instead of killing it. If parent process is registered with this signal and the wait system call is called, this defunct process will be removed.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.