O que é um processo ou thread de zumbi?


11

O que é um processo ou thread de zumbi e o que os cria? Eu simplesmente os mato ou posso fazer algo para obter diagnósticos sobre como eles morreram?


13
você cortou a cabeça deles. Ou você os queima. Essa é a unica maneira.
Simon Bergot

"Beat 'em ou queimá-los, eles sobem muito fácil" ...
TMN

Respostas:


17

O que é um processo ou thread de zumbi e o que os cria?

Um processo de zumbi é um processo morto.
O sistema operacional está apenas mantendo as informações disponíveis para que o pai possa verificar o código de saída dos processos em algum momento posterior, pois assim o sistema operacional mantém informações sobre eles e, portanto, eles aparecem quando analisam os processos.

Eu apenas os mato,

Não. Eles já estão mortos.
O sistema operacional será limpo quando os pais morrerem ou obtiverem o código de status do sistema operacional.

ou posso fazer algo para obter diagnósticos sobre como eles morreram?

Não. O pai pode mas não o shell.


4

Um encadeamento zumbi é um encadeamento que terminou sua execução, mas não terminou de forma limpa. Desaloca os recursos usados ​​pelo encadeamento, mas mantém uma entrada na tabela de encadeamentos / processos.

Teoricamente, o encadeamento zumbi sai desse status executando um _join (POSIX). Isso significa que, quando o seu principal for concluído, o processo zumbi será morto com o programa.


2

Um processo zumbi é um processo que terminou sua execução e foi removido da lista de processos agendados , mas ainda não foi excluído. Dependendo do sistema operacional, o tt pode ou não ter ainda vários recursos atribuídos a ele e pode ser consultado, mas não será executado.

Alguns SOs (por design) não têm permissão para criar ou excluir dinamicamente recursos além de um determinado ponto do evento (VxWorks Cert, por exemplo). Esses sistemas geralmente solucionam essa limitação usando conjuntos de recursos pré-alocados dos quais recuperam, retornam e reutilizam itens. No entanto, quando um processo nesse sistema é encerrado, ele não pode ser excluído e, em vez disso, será zombificado (finalizado e removido da lista de agendamento).

Espero que isto ajude.


0

Quando o encadeamento / processo é interrompido, mas ainda há um registro na tabela correspondente, ele se torna um zumbi.

Isso pode acontecer quando, por exemplo, um processo pai cria um processo filho, mas termina antes do filho. Quando o processo filho termina, ele informa ao pai sobre o encerramento. Posteriormente, o registro do processo filho é removido da tabela correspondente. Mas seu pai já terminou, portanto o registro ainda permanece na tabela.

Não há como se livrar dos zumbis, mas reinicie o


1
Não é necessário reiniciar. Basta matar o processo pai e os zumbis serão limpos pelo sistema automaticamente.
precisa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.