"Existe um processo de zumbi"

33

Esta mensagem aparece quando eu faço login na minha máquina ...

There is 1 zombie process.
  • O que isso está me dizendo?
  • É com isso que eu deveria me preocupar?
  • Se sim, então o que devo fazer e como?
John Mee
fonte
19
Você tem uma espingarda de cano duplo nas proximidades?
EEAA

Respostas:

28

Não há nada com que se preocupar :

Zumbi

Nos sistemas operacionais Unix, um processo zumbi ou um processo extinto é um processo que concluiu a execução, mas ainda possui uma entrada na tabela de processos, permitindo que o processo que o iniciou leu seu status de saída. Na metáfora colorida do termo, o processo filho morreu, mas ainda não foi colhido.

Quando um processo termina, toda a memória e recursos associados a ele são desalocados para que possam ser usados ​​por outros processos. No entanto, a entrada do processo na tabela de processos permanece. Os pais recebem um sinal SIGCHLD indicando que uma criança morreu; o manipulador para esse sinal normalmente executa a chamada em espera do sistema, que lê o status de saída e remove o zumbi. O ID do processo do zumbi e a entrada na tabela de processos podem ser reutilizados. No entanto, se um pai ignorar o SIGCHLD, o zumbi será deixado na tabela de processos. Em algumas situações, isso pode ser desejável, por exemplo, se o pai criar outro processo filho, ele garante que não receberá o mesmo ID do processo.

Fonte: http://wiki.answers.com/Q/What_is_Zombie_Process_and_Orphan_Process

Marc-Andre R.
fonte
Obrigado Marc boa descrição; Agora, como eu o encontraria, decidi se deveria mantê-lo e, caso contrário, removê-lo (e a mensagem).
John Mee
Geralmente eles disparam sozinhos; se isso é realmente irritante, você pode reiniciar ou encontrar o PID do processo pai e matá-lo, mas depende do que está deixando o zumbi para trás, isso pode ser problemático para matar esse processo específico.
Marc-Andre R.
2
Não se esqueça de aceitar a minha resposta se esta for a resposta real à sua pergunta;) obrigado!
Marc-Andre R.
10
Desculpe, você respondeu apenas a primeira parte da pergunta dele. Ainda não está claro se alguém deve se preocupar com isso e o que fazer.
0

Conforme explicado na resposta aceita, você tem um processo que concluiu a execução, mas ainda está na tabela de processos: https://serverfault.com/a/390216/48449

Isso não deve causar danos se for apenas um processo, mas ainda não deve acontecer. Se houver muitos e você não reiniciar ou reiniciar o processo pai causador que os produz, poderá atingir o número máximo de processos permitidos e causar problemas sérios.

Para descobrir se a preocupação é apropriada e a qual outro processo o zumbi pertence, isso funciona para mim:

ps -elf --forest | grep -C5 '<[d]efunct>'

Aumente o número de linhas de contexto, se necessário, para descobrir sobre o processo pai, idealmente, corrija esse processo para fazê-lo "colher" seus subprocessos finalizados.

exic
fonte