Home » Launch Daemons

Launch Daemons

Ένα daemon (δαίμονας) είναι ένα πρόγραμμα που εκτελείται στο παρασκήνιο (background program) ως μέρος του συνολικού συστήματος (system). Το daemon δεν συνδέεται με έναν συγκεκριμένο χρήστη (user). Επίσης, δεν μπορεί να εμφανίσει κανένα γραφικό περιβάλλον διεπαφής χρήστη (GUI = Graphical User Interface). Πιο συγκεκριμένα, δεν επιτρέπεται η σύνδεση με το διακομιστή παραθύρων (WindowServer).

Στο macOS, τα daemons εκκινούνται μέσω της διεργασίας launchd το οποίο είναι ο διαχειριστής τους. Θα τα συναντήσουμε λοιπόν πολλές φορές και με την ονομασία launchd daemons.

Κάντε κλικ για μεγέθυνση

Η συμπεριφορά ενός daemon, καθορίζεται σε ένα ειδικό αρχείο XML που ονομάζεται .plist. Αυτό το αρχείο επιτρέπει την εκκίνηση του daemon με βάση διάφορα κριτήρια.


Για να εγκατασταθεί ένα third party launchd daemon, πρέπει να γίνει προσθήκη του αρχείου .plist, στον κατάλογο/φάκελο (folder/directory) /Library/LaunchDaemons. Το συγκεκριμένο directory, βρίσκεται μέσα στην Local Library και περιλαμβάνει daemons τα οποία έχουν εγκατασταθεί από έναν administrator.
Τα daemons αυτά, ονομάζονται global daemons και είναι system-wide, δηλαδή, δεν έχουν εγκατασταθεί για έναν και μόνο χρήστη, αλλά για όλους τους χρήστες του συστήματος.
Εκτελούνται για λογαριασμό του root ή ενός χρήστη, ο οποίος καθορίζεται με το κλειδί username.

Κάντε κλικ για μεγέθυνση


Τα daemons τα οποία παρέχονται από την Apple και αφορούν το ίδιο το macOS, βρίσκονται στον κατάλογο/φάκελο (folder/directory) /System/Library/LaunchDaemons. Το συγκεκριμένο directory, βρίσκεται μέσα στην System Library.
Ονομάζονται system daemons και είναι και αυτά system-wide, επίσης.
Εκτελούνται για λογαριασμό του root ή ενός χρήστη, ο οποίος καθορίζεται με το κλειδί username.

Κάντε κλικ για μεγέθυνση

⚠️ Οι ορισμοί εργασίας (job definitions), που είναι κρίσιμοι για τη λειτουργία του λειτουργικού συστήματος (macOS), αποθηκεύονται στο directory /System/Library. Δεν θα πρέπει ποτέ, να δημιουργήσετε ένα daemon σε αυτό το directory.

Είναι σημαντικό να επισημάνουμε, ότι δεν αλληλεπιδρούν όλα τα launchd daemons με το launchd, με τον ίδιο τρόπο. Η μοναδική δυνατότητα ενοποίησης όλων των launchd daemons, είναι το αρχείο .plist. Αυτό, λέει στο launchd, πώς να αλληλεπιδρά με το daemon.

Ανεξάρτητα από το πώς αλληλεπιδρά με το launchd, ένα launchd daemon δεν πρέπει να δαιμονοποιεί τον εαυτό του. Κάτι τέτοιο θα υπονόμευε την ικανότητα του launchd να παρακολουθεί το daemon.


Ένα τυπικό daemon, μπορεί για παράδειγμα, να εκτελεί καθημερινές εργασίες συντήρησης,

ή να σαρώνει μια συσκευή για κακόβουλο λογισμικό, όταν είναι συνδεδεμένη.


Για την παρακολούθηση των daemons, ανοίξτε το Activity Monitor (Παρακολούθηση Δραστηριότητας).

Κάντε κλικ για μεγέθυνση


Share ⤴️

Leave a Reply

Your email address will not be published. Required fields are marked *