Home » Launch Agents

Launch Agents

Σε προηγούμενο άρθρο, έγινε αναφορά στα daemons. Ένα daemon (δαίμονας) είναι ένα πρόγραμμα που εκτελείται στο παρασκήνιο (background program) ως διεργασία (process), σαν μέρος του συνολικού συστήματος (system).

Το daemon δεν συνδέεται με έναν συγκεκριμένο χρήστη (user). Αυτό το κάνει το agent (πράκτορας*), το οποίο είναι και αυτό ένα πρόγραμμα, που επίσης εκτελείται στο παρασκήνιο ως διεργασία, αλλά για λογαριασμό του συνδεδεμένου χρήστη (logged in user).
*Θα μπορούσαμε να δώσουμε και την ερμηνεία του μεσάζοντα για ένα agent.

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

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

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

Τα agents, είναι χρήσιμα, επειδή μπορούν να κάνουν πράγματα που τα daemons δεν μπορούν, όπως για παράδειγμα, να έχουν αξιόπιστη πρόσβαση στον αρχικό κατάλογο του χρήστη (Ηome directory) ή να συνδέονται με το διακομιστή παραθύρων (Windows Server).

Η διαφορά μεταξύ ενός agent και ενός daemon, είναι ότι ένα agent μπορεί να εμφανίσει γραφικό περιβάλλον διεπαφής χρήστη (GUI = Graphical User Interface) εάν το θέλει, ενώ ένα daemon, δεν μπορεί.

Η διαφορά μεταξύ ενός agent και μιας κανονικής εφαρμογής, είναι ότι ένα agent συνήθως δεν εμφανίζει GUI (ή μπορεί να εμφανίσει, ένα πολύ περιορισμένο GUI).

Τα agents, έχουν αποκτήσει μια ποικιλία διαφορετικών ονομάτων με τα χρόνια. Αυτά περιλαμβάνουν, τις εφαρμογές μόνο για φόντο (BOA = background-only applications), τις απρόσωπες εφαρμογές μόνο για φόντο (FBAs = faceless background-only applications) και τα στοιχεία διεπαφής χρήστη (UI elements) (που υποδηλώνουν ότι το agent εμφανίζει κάποιο GUI, αλλά δεν είναι μια πλήρης εφαρμογή με γραμμή μενού). Αυτά τα ονόματα έχουν τη σημασία τους, ώστε να διακρίνουμε τους διαφορετικούς τύπους agents, αλλά και το πώς εκκινεί ένα agent.


Τα third party launchd agents (όπως ονομάζονται), εγκαθίστανται στον φάκελο/κατάλογο (folder/directory) ~/Library/LaunchAgents, με την προσθήκη αρχείων .plist. Το συγκεκριμένο directory, βρίσκεται μέσα στην User Library και περιλαμβάνει agents τα οποία έχουν εγκατασταθεί από κάποιον χρήστη (κατά την εγκατάσταση εφαρμογών) -και μπορούν να κληθούν μόνο- από τον ίδιο -συνδεδεμένο- χρήστη (logged in user) και όχι από όλους τους χρήστες του συστήματος.
Τα agents αυτά, ονομάζονται user agents.

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


Third party launchd agents, συναντάμε και στο directory /Library/LaunchAgents. Το συγκεκριμένο directory, βρίσκεται μέσα στην Local Library και περιλαμβάνει agents τα οποία έχουν εγκατασταθεί από κάποιον διαχειριστή (administrator) (κατά την εγκατάσταση εφαρμογών) και μπορούν να κληθούν από όλους τους χρήστες του συστήματος.
Τα agents αυτά, ονομάζονται global agents.


Τέλος, υπάρχουν τα agents, τα οποία παρέχονται από την Apple (με την εγκατάσταση του macOS) και είναι εγκατεστημένα στο directory /System/Library/LaunchAgents. Το συγκεκριμένο directory, βρίσκεται μέσα στην System Library.
Τα agents αυτά, ονομάζονται system agents και μπορούν να κληθούν από όλους τους χρήστες του συστήματος.

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

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


Ένα agent, μπορεί να είναι υπεύθυνο για το συγχρονισμό σελιδοδεικτών Safari, της λίστας ανάγνωσης (reading list) και καρτελών (tabs) με το iCloud μέσω του CloudKit,

ή για συντονισμό της πρόσβασης σε δεδομένα ημερολογίου και υπενθυμίσεων.

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

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


Share ⤴️

Leave a Reply

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