Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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?

(sorry, I'm new to this)

share|improve this question
add comment

3 Answers 3

up vote 4 down vote accepted

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?

share|improve this answer
    
It's actually interesting because I just finished rebooting the machine and the process was sitting there in the list. Thanks for your help. –  cwd Dec 9 '11 at 5:31
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.