Como matar um processo de zumbi em um mac


13

Como matar um processo zumbi ou encontrar o processo pai em um Mac usando o Terminal?



3
@soandos Não é um duplicado, pois esse tópico não é sobre zumbis. Nenhum dos killsinais funciona para zumbis IIRC. Já tive isso antes.
Daniel Beck

Geralmente, pode-se matar zumbis se o processo pai for conhecido, mas isso requer matar também, o que nem sempre é uma escolha agradável. Portanto, eu estou querendo saber se existe outra solução para isso.
eFrane

Respostas:


16

Hack Saw diz:

Infelizmente , parece que matar zumbis é matar o pai , e se o pai for / sbin / launchd, você pode matá-lo apenas com a reinicialização.

Seria uma péssima idéia matar launchd, mas você pode contar para o HUP.

Experimentar sudo kill -s HUP 1

Isso fará com launchdque seja reinicializado sem reiniciar. Isso funcionou para mim no passado (remoção de entradas de zumbi).


3

Infelizmente , parece que matar zumbis é matar o pai , e se o pai for / sbin / launchd, você pode matá-lo apenas com a reinicialização.

Estou conseguindo que os zumbis usem o Xcode e parem o simulador, e ele está entregando os zumbis ao meu / sbin / launchd pessoal, que não desapareceu quando eu saí.

O comando ps -xo pid, ppid, stat, mostrará seus processos, com o ID pai na segunda coluna.


1

processos de zumbis já estão mortos e não podem ser mortos. Eles devem ser removidos da tabela de processos automaticamente quando o processo pai morre.

Eles não diminuem a velocidade da sua máquina e você pode deixá-los lá (são apenas entradas na tabela de processos).

Há um número máximo de processos (você pode verificá-lo sysctl kern.maxproc) e os processos zumbis o reduzirão (conforme são contados).

Se você atingir esse limite, não poderá criar novos processos e será forçado a reiniciar.


"Deve ser removido", mas nem sempre. O Xcode é péssimo em deixar os processos zumbis e eles não são limpos, mesmo que o Xcode morra / seja encerrado / morto.
JRG-Developer

@ JRG-Developer Concordo, mas eles não são um problema. Eles não consomem nenhum recurso.
Matteo

2
Na verdade, eles são um problema quando muitos são criados e o fork não pode iniciar nenhum novo processo e você é forçado a reiniciar.
Adam

2
Eles são um problema quando você deseja reiniciar o processo com falha e usá-lo novamente, mas não pode sem reiniciar.
MarcusJ

4
Quando um aplicativo entra nesse estado, você não pode reiniciá-lo até que a entrada antiga seja limpa. Ele não está usando nenhum recurso, mas a poluição da tabela impede que uma nova instância seja iniciada; portanto, você fica bloqueado até reiniciar.
George
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.