Middle
Ποια είναι η διαφορά μεταξύ ενός zombie διαδικασίας και μιας ορφανής διαδικασίας;
sobes.tech AI
Απάντηση από AI
Ένα zombie process είναι μια διαδικασία που έχει τερματίσει, αλλά η γονική διαδικασία δεν έχει ακόμη καλέσει wait() για να λάβει την κατάσταση τερματισμού της. Τέτοιες διαδικασίες παραμένουν στον πίνακα διαδικασιών με την κατάσταση "zombie", καταλαμβάνοντας PID, αλλά χωρίς να καταναλώνουν πόρους CPU ή μνήμης.
Ένα ορφανό process είναι ένα process το οποίο ο γονέας του έχει τερματίσει πριν από αυτό. Στα συστήματα Unix, τέτοια processes γίνονται αυτόματα παιδιά της διαδικασίας init (PID 1), η οποία είναι υπεύθυνη για τον σωστό τερματισμό τους.
Εν συντομία:
- Zombie: τερματισμένη διαδικασία, περιμένει ο γονέας της να συλλέξει την κατάσταση.
- Ορφανό: ζωντανή διαδικασία που έχασε τον γονέα της και υιοθετείται αυτόματα από το
init.