Take a fresh look at your lifestyle.

O que são processos zumbis, como encontrar e matá-los?

Conheça um pouco mais sobre processos zumbis, o que são, por que são criados e como matar esses processos.

374

Get real time updates directly on you device, subscribe now.

Se você é um usuário casual de Linux, você deve ter encontrado o termo ‘Processos Zumbis’. Então, o que são esses processos? Como eles são criados? Eles são prejudiciais ao sistema? Como faço para matar esses processos? Continue lendo as respostas para todas essas questões.

O que são processos Zumbis?

Então, todos sabemos como funcionam os processos. Nós abrimos um programa, iniciamos nossa tarefa e, uma vez que nossa tarefa acabou, terminamos esse processo. Uma vez que o processo terminou, ele deve ser removido da tabela de processos.
Mas, às vezes, alguns desses processos permanecem na tabela de processos mesmo depois de terem concluído a execução.
Esses processos que completaram sua vida de execução, mas ainda existem na tabela de processos, são chamados de ‘Processos Zumbis’.

Como eles são criados

Sempre que executamos um programa, ele cria um processo pai e muitos processos filho. Todos esses processos filho usam recursos como memória e CPU atribuídos a eles pelo kernel.
Uma vez que esses processos filho tenham terminado de executar eles enviam uma chamada de saída e morrem. Esta chamada de saída deve ser lida pelo processo pai que mais tarde chama o comando wait para ler o exit_status do processo filho para que o mesmo possa ser removido da tabela de processos.
Se o pai lê a chamada de saída enviada corretamente pelo processo filho, o processo é removido da tabela de processos.
Mas, se o pai não lê a chamada de saída do processo filho, o processo filho que já finalizou sua execução e agora está morto não será removido da tabela de processos.

Estes processos são prejudiciais ao sistema?

Não. Uma vez que o processo zumbi não está fazendo nenhum trabalho, nem utilizando recursos ou afetando qualquer outro processo, não há danos em ter um processo zumbi. Mas uma vez que o exit_status e outras informações de processo da tabela de processos são armazenados na RAM, ter muitos processos zumbis às vezes pode ser um problema.

Como encontrar processos zumbis

Para encontrar processos zumbis na tabela de processos, você pode executar o comando abaixo no seu terminal:

ps aux | grep Z

Agora você obterá detalhes de todos os processos zumbis na tabela de processos.

Como matar estes processos

Normalmente, nós matamos processos com o comando SIGKILL, mas os processos zumbis já estão mortos. Você não pode matar algo que já está morto. Então, podemos usar o comando abaixo:

kill -s SIGCHLD pid

Substitua o pid pelo id do processo pai, assim o processo pai removerá todos os processos filho que estão mortos e concluídos.
Muitos programas não estão programados o suficiente para remover esses processos filho, porque se eles estivessem, você não teria aqueles zumbis. Então, a única forma garantida para remover processos zumbis é matando o pai.
 
Para ficar por dentro de todos os lançamentos do SempreUpdate, siga nosso grupo no Telegram.

Source LinuxAndUbuntu

Get real time updates directly on you device, subscribe now.

Comments