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";

Répondre à