Il modo migliore per uccidere i processi di stato Zombie e D in Linux


Risposte:


19

Tocca due volte.

In realtà, riavviare. Non c'è un modo reale per sbarazzarsi facilmente di uno zombi, ma non c'è davvero alcun motivo perché uno zombi non sta occupando risorse sul computer; è una voce orfana in una tabella dei processi. Init dovrebbe raccoglierlo ma qualcosa è andato storto nel processo. http://en.wikipedia.org/wiki/Zombie_process

Forse te lo stai chiedendo perché c'è un problema peggiore ... stai ottenendo un carico di zombi in roaming sulla tua tabella dei processi? Questo di solito significa un bug nel programma o un problema con una configurazione. Non dovresti avere un numero enorme di zombi sul sistema. Uno o due non mi preoccupo. Se ne hai cinquanta da Apache o da qualche altro demone, probabilmente hai un problema. Ma questo non è direttamente correlato alla tua domanda ...


1
ci sono circa 10 processi di zombi
vnix27

Quali sono i processi?
Bart Silverstrim,

15
/sbin/reboot

Non puoi uccidere uno zombi: è già morto

Se il ppid esiste ancora, la terminazione può spesso ripulire gli zombi generati.

Non dovresti uccidere i processi in modalità di sospensione ininterrotta - di solito questo significa che sono associati a I / O, ma IIRC può verificarsi anche durante una lettura di blocco, ad esempio da un socket di rete.


10

Errori nel file system o nei dischi sottostanti potrebbero causare processi associati I / O. In questo caso prova a "umount -f" il filesystem da cui dipendono - questo annullerà qualunque richiesta I / O in sospeso sia aperta.


2
E perdere dati. Non sembra un'ottima idea.
Michael Hampton

5
Si perdono comunque i dati al riavvio. In questo modo è possibile evitare il riavvio: funzionalità utile sui sistemi di produzione o sviluppo.
Arie Skliarouk,

2
Grazie, questo ha funzionato per un problema che abbiamo avuto con uno script bloccato nel tentativo di accedere a un mount NFS scomparso per settimane :)
BT643

1
Questo è esattamente ciò che mi sta accadendo a volte quando lseseguo il comando su un mount s3fs. Il lsprocesso non si interromperà nemmeno kill -9fino a quando non forzerò lo smontaggio con umount -l. Alternative a umount?
Marco Marsala,

2
Ora il mio processo di umount è sospeso come STAT "D +" da zombi!
Curtis Yallop,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.