Εδώ είναι μια κατανομή:
* Κανονικός τερματισμός της διαδικασίας: Συνήθως, όταν τελειώνει μια γονική διαδικασία, περιμένει να τελειώσει οι διαδικασίες των παιδιών της. Αυτή η αναμονή διαχειρίζεται χρησιμοποιώντας κλήσεις συστήματος όπως `wait ()` ή `waitpid ()`. Η γονική διαδικασία καθαρίζει τους πόρους που σχετίζονται με τα παιδιά της.
* Ορφανή διαδικασία: Εάν η γονική διαδικασία τερματιστεί * χωρίς * να περιμένει τις διαδικασίες των παιδιών της, αυτές οι διαδικασίες παιδιών γίνονται ορφανά. Εξακολουθούν να τρέχουν, αλλά ο γονέας τους έχει φύγει.
* υιοθεσία από init: Το κρίσιμο σημείο είναι ότι οι ορφανές διαδικασίες δεν διαγράφονται απλώς. Αντ 'αυτού, η διαδικασία init (PID 1, η πρώτη διαδικασία ξεκίνησε κατά τη διάρκεια της διαδικασίας εκκίνησης) τις υιοθετεί. Το `init` (ή το` systemd` σε πολλά σύγχρονα συστήματα) γίνεται η νέα διαδικασία γονέων τους. Αυτό εξασφαλίζει ότι οι ορφανές διαδικασίες εξακολουθούν να διαχειρίζονται σωστά και τελικά τερματίζονται όταν τελειώνουν τη δουλειά τους. Ουσιαστικά, το λειτουργικό σύστημα εμποδίζει τις ορφανές διαδικασίες να γίνουν διαδικασίες "Rogue".
* Συνέπειες: Ενώ η υιοθέτηση από το `init` αποτρέπει σημαντικά ζητήματα, ενδέχεται να υπάρχουν λεπτές επιδράσεις ανάλογα με τις λεπτομέρειες:
* Καθαρισμός πόρων: Η αρχική γονική διαδικασία μπορεί να ήταν υπεύθυνη για τον καθαρισμό ορισμένων πόρων που διατέθηκαν στη διαδικασία του παιδιού. Δεδομένου ότι ο γονέας έχει φύγει, αυτός ο καθαρισμός μπορεί να μην συμβεί τέλεια, ενδεχομένως οδηγώντας σε μικρές διαρροές πόρων (αν και αυτές συνήθως διαχειρίζονται καλά από το λειτουργικό σύστημα).
* Χειρισμός σήματος: Ο τρόπος χειρισμού των σημάτων μπορεί να μεταβληθεί ελαφρώς καθώς ο γονέας δεν είναι πλέον παρών για την παρακολούθηση ή την αντιμετώπιση τους.
Εν ολίγοις, ο όρος "ορφανό κράτος" περιγράφει την κατάσταση όπου μια διαδικασία έχει χάσει τον γονέα του, αλλά συνεχίζει να τρέχει, τελικά υιοθετείται και διαχειρίζεται η διαδικασία `init '(ή` systemd'). Συνήθως δεν είναι αιτία για σημαντική ανησυχία, καθώς το σύστημα χειρίζεται αυτό χαριτωμένα, αλλά η κατανόηση της έννοιας είναι σημαντική για τη διαχείριση του συστήματος και τη διαχείριση των διαδικασιών.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα