O que significa <defunct> na saída de ps?

15

Eu havia emitido o ps -ef|grep javacomando e esta é uma das entradas que recebi:

subhrcho   875   803  0 Jan23 pts/5    00:02:27 [java] <defunct>

O que está <defunct>implicando aqui? Em que estado esse processo é aquele com PID = 875 pol?

Nerd
fonte

Respostas:

16

Na página de manual do ps :

Processos marcados <defunct>são processos mortos (os chamados "zumbis") que permanecem porque seus pais não os destruíram corretamente. Esses processos serão destruídos pelo init (8) se o processo pai sair.

Schaiba
fonte
qual é o contrato entre um processo pai e um processo filho para destruição do processo filho? Eu pensei que é dever do processo filho notificar os pais de que ele está sendo destruído?
24713 Geek
@ Geek O kernel destrói o processo filho e notifica o pai. A criança apenas liga _exitou morre de um sinal. Quando o kernel destrói um processo, tudo o que resta é uma entrada na tabela de processos, que desaparece quando o pai (ou processo 1, para órfãos) chama wait.
Gilles 'SO- stop be evil'
2
@Giles O que significa quando a página de manual diz que o pai não destruiu adequadamente o processo filho? pai não ligou esperar?
Geek