Por que o apache2 é exibido como extinto na lista de processos?

5

Quando executo top , vejo uma linha que não parece muito boa:

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

Por que esse processo é <defunct> e o que devo fazer sobre isso?

(desculpe, sou novo nisso)

    
por cwd 09.12.2011 / 05:34

3 respostas

6

É inofensivo. Você pode ignorar isso. É um processo zumbi. A man page para ps tem

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

Veja também a página da Wikipedia sobre o processo Zombie .

Se você realmente quiser se livrar dele, reiniciar o apache2 pode resolver o problema. A reinicialização da máquina certamente fará com que ela desapareça, mas isso definitivamente não é necessário.

Esta questão é semelhante. - Como posso matar um < defunto > processo cujo pai é init?

    
por 09.12.2011 / 06:20
3

Processos defuntos são processos zumbis. O comando kill não tem efeito em um processo zumbi. Estes podem ser mortos por matar o processo pai. Você pode encontrar pai a partir do valor PPID. Se o PPID é 1 (init), ou seja, o processo é adaptado por init como o pai não é mais, então a reinicialização é a única solução.

    
por 09.12.2011 / 09:55
3

Você pode enviar um sinal SIGCHLD para o processo pai em vez de eliminá-lo. Se o processo pai for registrado com este sinal e a chamada do sistema wait for chamada, esse processo extinto será removido.

    
por 20.11.2012 / 15:13