Sobes.tech
Middle

Quelle est la différence entre un processus orphan et un processus zombie?

sobes.tech IA

Réponse de l'IA

Processus orphelin (Orphan Process) — c'est un processus dont le processus parent s'est terminé avant que le processus enfant ait terminé son exécution. Le processus d'initialisation (init, PID 1) adopte automatiquement l'orphelin et devient son nouveau parent pour la libération ultérieure des ressources.

Processus zombie (Zombie Process) — c'est un processus qui a terminé son exécution, mais son entrée dans la table des processus du noyau (PCB) n'a pas encore été supprimée, car le processus parent n'a pas appelé l'appel système wait() ou waitpid() pour collecter le statut de terminaison du processus enfant. Un tel processus n'utilise pas de ressources CPU, mais occupe de la place dans la table des processus.

Comparaison:

Caractéristique Processus orphelin Processus zombie
État En cours d'exécution (ou en attente) Terminé
Parent Le parent initial a terminé, le nouveau parent est init (PID 1). Le parent existe, mais n'a pas appelé wait().
Ressources CPU Consomme des ressources CPU pour effectuer sa tâche. Ne consomme pas de ressources CPU.
Place dans la table Occupe de l'espace dans la table des processus comme un processus en cours d'exécution normal. Occupe de l'espace dans la table des processus jusqu'à ce que son statut soit lu par le parent.
Suppression Sera terminé et nettoyé par le système d'exploitation après la fin. Reste dans la table des processus jusqu'à ce que le parent appelle wait() ou que le parent se termine (dans ce cas, il devient orphelin init et sera nettoyé).