pt.phhsnews.com


pt.phhsnews.com / O que é um “processo de zumbis” no Linux?

O que é um “processo de zumbis” no Linux?


Se você é um usuário de Linux, pode ter visto processos de zumbis se arrastando em torno de sua lista de processos. Você não pode matar um processo de zumbi porque ele já está morto - como um zumbi real.

Os zumbis são basicamente os restos de processos mortos que não foram limpos adequadamente. Um programa que cria processos de zumbis não é programado corretamente - programas não deveriam deixar processos de zumbis ficarem por perto.

Crédito de imagem: Daniel Hollister no Flickr (Remixed)

O que é um processo de zumbis?

Entender o que é um processo zumbi e o que faz com que os processos zumbis apareçam, você precisará entender um pouco sobre como os processos funcionam no Linux.

Quando um processo morre no Linux, ele não é removido da memória imediatamente - seu processo o descritor permanece na memória (o descritor de processo ocupa apenas uma pequena quantidade de memória). O status do processo torna-se EXIT_ZOMBIE e o pai do processo é notificado de que seu processo filho morreu com o sinal SIGCHLD. O processo pai deve então executar a chamada do sistema wait () para ler o status de saída do processo morto e outras informações. Isso permite que o processo pai obtenha informações do processo inativo. Depois que wait () é chamado, o processo zumbi é completamente removido da memória.

Isso normalmente acontece muito rapidamente, então você não verá processos zumbis se acumulando em seu sistema. No entanto, se um processo pai não for programado corretamente e nunca chamar wait (), seus filhos zumbis permanecerão na memória até que sejam limpos.

Utilitários como o GNOME System Monitor, o top comando, e o comando ps exibe processos zumbis.

Perigos dos processos zumbis

Processos zumbis não usam nenhum recurso do sistema. (Na verdade, cada um usa uma quantidade muito pequena de memória do sistema para armazenar seu descritor de processo.) No entanto, cada processo zumbi retém seu ID de processo (PID). Os sistemas Linux têm um número finito de IDs de processo - 32767 por padrão em sistemas de 32 bits. Se zumbis estão se acumulando a uma taxa muito rápida - por exemplo, se um software de servidor incorretamente programado estiver criando processos zumbis sob carga - todo o conjunto de PIDs disponíveis acabará sendo atribuído a processos zumbis, evitando que outros processos sejam iniciados.

alguns processos zumbis por aí não são problema - embora eles indiquem um bug com seu processo pai em seu sistema.

Livrando-se de processos zumbis

Você não pode matar processos zumbis, pois pode matar processos normais com o Sinal SIGKILL - processos de zumbis já estão mortos. Tenha em mente que você não precisa se livrar de processos zumbis, a menos que você tenha uma grande quantidade em seu sistema - alguns zumbis são inofensivos. No entanto, existem algumas maneiras de se livrar de processos zumbis.

Uma maneira é enviar o sinal SIGCHLD para o processo pai. Este sinal diz ao processo pai para executar a chamada do sistema wait () e limpar seus filhos zumbis. Envie o sinal com o comando kill , substituindo pid no comando abaixo pelo PID do processo pai:

kill -s SIGCHLD pid

No entanto, se o processo pai não for programado corretamente e está ignorando os sinais SIGCHLD, isso não ajudará. Você terá que matar ou fechar o processo pai dos zumbis. Quando o processo que criou os zumbis termina, o init herda os processos zumbis e se torna seu novo pai. (o init é o primeiro processo iniciado no Linux durante a inicialização e é designado ao PID 1.) O init executa periodicamente a chamada do sistema wait () para limpar seus filhos zumbis, portanto o init fará com que os zumbis trabalhem rapidamente. Você pode reiniciar o processo pai depois de fechá-lo

Se um processo pai continuar a criar zumbis, ele deve ser corrigido para que ele chame wait () para colher seus filhos zumbis. Arquive um relatório de bug se um programa em seu sistema continuar criando zumbis.


Como bloquear os retweets de um usuário do Twitter (mas ainda ver seus tweets)

Como bloquear os retweets de um usuário do Twitter (mas ainda ver seus tweets)

Alguém que você segue no Twitter retwita constantemente, inundando sua linha do tempo com bobagens? Fazer contas particulares que você nunca quer ouvir de continuar aparecendo de qualquer maneira? Veja como filtrar rapidamente essas coisas, sem seguir adiante as pessoas de outra forma. Hipoteticamente, digamos que você siga alguém que, embora geralmente perspicaz, ocasionalmente retweets absurdo de seu inimigo mortal.

(how-to)

Como configurar as notificações e o Centro de Notificações no OS X

Como configurar as notificações e o Centro de Notificações no OS X

As notificações no OS X são um recurso relativamente novo, mas desde sua introdução em 2012 como parte do Mountain Lion tornaram-se quase indispensáveis, ostentando seu próprio painel de configurações e o Centro de Notificação apropriadamente chamado. Veja como aproveitar ao máximo esses dois recursos.

(how-to)