Encerrando um processo zumbi em ambientes Linux

Summary: O que é um Processo Zumbi, como encontrá-lo e como matá-lo ou encerrá-lo.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

O que é um processo zumbi:
É um processo que terminou, mas nem todo ele é removido imediatamente da memória, pois seu descritor de processo permanece na memória.

Qual deve ser o comportamento normal de um processo:
Quando um processo termina, o status dele se torna EXIT_ZOMBIE e o pai do processo é notificado de que seu processo filho morreu com o SIGCHLD sinal.

O processo pai deve então executar o wait() Para que a chamada do sistema leia o status de saída do processo inativo e outras informações. Depois wait() é chamado, o processo zumbi é removido da memória. Isso acontece rapidamente, para que você não veja processos zumbis se acumulando em seu sistema. Mas nos casos em que vemos vários processos zumbis se acumulando, esta é uma situação em que o código do programa não é eficiente.

Como encontrar um zumbi Processos:
Executando o comando top
resultados do comando superior

Executando o comando ps -ef | grep defunct
Resultado do comando extinto

Como encerrar processos zumbis acumulados:
Na maioria das vezes, os processos zumbis têm o mesmo ID de processo pai.

Há dois métodos para remover o processo:
  • Envie o SIGCHLD sinal para o processo pai.
Esse sinal informa ao processo pai para executar o wait() sistema chamar e limpar seus filhos zumbis:
kill -s SIGCHLD <PPID>
Exemplo:
kill -s SIGCHLD 2201
  • Matar o processo pai zumbi
kill -9 <PPID>
Exemplo:
kill -9 2201

Affected Products

Dell OpenManage Enterprise, NetWorker Series
Article Properties
Article Number: 000019108
Article Type: How To
Last Modified: 12 Apr 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.