Sobes.tech
Junior — Middle

Ποιο από τα σήματα SIGTERM ή SIGKILL μπορεί να οδηγήσει στην εμφάνιση ενός zombie-διαδικασίας στο σύστημα;

sobes.tech AI

Απάντηση από AI

Το σήμα SIGTERM μπορεί να οδηγήσει σε εμφάνιση ενός zombie-διαδικασίας εάν η γονική διαδικασία δεν χειριστεί σωστά το τερματισμό της παιδικής διαδικασίας και δεν καλέσει το wait() για την απελευθέρωση πόρων.

Το σήμα SIGKILL (που στο ερώτημα έχει ορθογραφικό λάθος ως SIGSKILL) τερματίζει αμέσως τη διαδικασία χωρίς δυνατότητα παρεμβολής ή χειρισμού, αλλά ο πυρήνας καθαρίζει αυτόματα όλους τους πόρους της διαδικασίας, και δεν παραμένει κανένα zombie.

Έτσι, οι zombie-διαδικασίες εμφανίζονται όταν μια διαδικασία τερματίζει (π.χ., μετά από SIGTERM), αλλά η γονική δεν έχει καλέσει το wait() για να λάβει την κατάσταση τερματισμού. Το SIGKILL δεν προκαλεί zombie, καθώς η διαδικασία τερματίζει βίαια και αφαιρείται άμεσα από τον πίνακα διαδικασιών.