Le Jeudi 13 Novembre 2003 13:44, Yann Jautard a écrit : > > Un process zombi est un process mort, dont le père ne le sais pas ou > > encore il n'a plus de père, alors il se rattache à init. > > Et comme il ne réponds plus aux signaux, comment veux-tu faire alors ? > > Ben je sais pas moi, mais puisque on le voit avec ps, c'est que le noyau > "sait" qu'il est là et qu'il existe, connait la mémoire qu'il utilise, etc, > etc, donc pourquoi ne pourrait'il pas l'éliminer ?
En effet le noyau conserve toute l'information sur ce processus zombie. Lorsqu'un programme termine, il envoie un signal (SIGCHILD si ma mémoire est bonne) à son père pour le prévenir qu'il a terminé. Le père alors a la possibilité de regarder l'état de son fils, récupérer des informations etc. Une fois cela fait le process fis peut être détruit. Lorsque le père est mort, le signal SIGCHILD n'est récupéré par personne, mais le noyau ne peut pas en conclure qu'il peut détruire le processus sans gêner un autre processus parent. Le process est donc déclaré zombie! (c'était d'ailleurs une méthode d'attaque des systèmes unix qui avaient une limite sur le nombre de processus total et non par utilisateur!) <hazardeous> Si c'est un processus d'un utilisateur, je crois qu'un kill -9 -1 le supprimera car plus aucun parent "raisonnable" ne peut prétendre récupérer ses infos, mais je n'en suis pas sur. </hazardeous> Clément Ménier.
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? Rendez-vous sur "http://www.mandrakestore.com"