Salut,
A zombie process is a process that has exited, but whose exit code has
not reached its parent process. The parent process has to perform a wait
system call to read the exit code of a child. Until the parent receives
the exit code, the child process will remain in "zombie" state.
Zombie processes are already dead and cannot be "killed." They consume
no system resources except an entry in the system process table (seen in
the proc-sz column with the sar -v command).
The only way to remove a zombie process is to kill its parent process.
More information:
http://groups.google.com/groups?q=zombie+processes+wait&hl=en&lr=&ie=UTF-8&selm=1993Feb14.021655.13721%40acd4.acd.com&rnum=9
D'après jargon.fr on apprend :
Programme terminé mais dont le père n'a pas été informé de sa mort. Ses
données sont donc encore accessibles, ce qui fait qu'il est encore un
peu vivant... Un programme dont le père a été détruit est de son côté un
orphelin.
Donc si ton 'logrotate' a été lancé par init, effectivement il est assez
difficile de redémarrer init sans reboot (peut-être un init q ?). Sinon
tu peux tuer son père (on ne voit pas la colonne PPID dans ton ps).
J'ai déjà réussi à supprimer des zombies en effectuant un simple
'strace' sur le processus zombie, normalement 'strace' est censé être
transparent pour le processus, apparemment pas toujours.
Cheers.
Thomas Preud'homme a écrit :
Le jeudi 2 octobre 2008, Gilles Mocellin a écrit :
On Thu, Oct 02, 2008 at 06:52:48PM +0200, Thibaut LE LEVIER wrote:
Bonjour la liste
depuis quelques jours je me bat contre le zombie qui sommeil sur
mon serveur, je n'arrive pas à le trouver et à le tuer
j'ai chercher avec "ps aux | grep Z" mais le seul processus que je
trouve en "Zs" est :
satie:/home/tibo# ps aux | grep Z
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
COMMAND root 14545 0.0 0.0 0 0 ? Zs Sep28
0:00 [logrotate] <defunct>
ce qui est étonnant c'est qu'il ne signale aucune utilisation des
ressources alors qu'avec un "uptime" la sortie est presque toujours
au dessus de 0.20 (au minimum)
(cf http://lelevier.dyndns.org/ en bas de page)
la machine n'est pas très puissante (133mhz) et à servi à beaucoup
de test mais là je ne vois pas ce qui cloche.
Pour moi, un process zombie est un process qui s'est terminé sans
donner de code retour à son process père. Il ne consomme donc plus
rien.
La seule façon qu'il disparaisse de la liste des processus, c'est de
rebooter.
Non normalement un process zombie c'est un processus qui a encore une
entrée dans la table des processus (le PID ne peut donc être réaffecté)
et dont le père n'a pas encore fait d'appel système de type wait (genre
waitpid) pour récupérer l'état de terminaison du processus en question.
Après là je pense que c'est dans le sens un processus caché, genre
rootkit vicieux non ?
Cordialement,
Thomas Preud'homme
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]