←→ Underneath: Background Apps · Όλοι οι οδηγοί για Mac
Πώς να δείτε τι εκτελείται στο παρασκήνιο στο Mac σας
Το Mac σας εκτελεί εκατοντάδες διεργασίες που δεν ανοίξατε ποτέ. Οι περισσότερες ανήκουν στο macOS. Μερικές προέρχονται από εφαρμογές που εγκαταστήσατε, και κάποιες από αυτές ξεκινούν ξανά κάθε φορά που συνδέεστε. Δείτε πώς να τις βρείτε.
Σύντομη απάντηση: ανοίξτε την Παρακολούθηση δραστηριότητας για να δείτε τι εκτελείται τώρα και τις Ρυθμίσεις συστήματος › Γενικά › Στοιχεία σύνδεσης και επεκτάσεις για να δείτε τι ξεκινά μόνο του. Για την πλήρη εικόνα, κοιτάξτε στους φακέλους LaunchAgents και LaunchDaemons ή εκτελέστε launchctl list στο Τερματικό.
1. Παρακολούθηση δραστηριότητας: τι εκτελείται αυτή τη στιγμή
Ανοίξτε την από τις Εφαρμογές › Βοηθήματα ή πατήστε ⌘ Space και πληκτρολογήστε «Παρακολούθηση δραστηριότητας».
- Κάντε κλικ στην καρτέλα Μνήμη και ταξινομήστε κατά τη στήλη Μνήμη. Οι μεγαλύτεροι καταναλωτές βρίσκονται στην κορυφή.
- Επιλέξτε Προβολή › Οι διεργασίες μου για να κρύψετε τις διεργασίες του συστήματος και άλλων χρηστών.
- Επιλέξτε Προβολή › Όλες οι διεργασίες, ιεραρχικά για να δείτε ποια διεργασία ξεκίνησε ποια.
- Κάντε διπλό κλικ σε μια διεργασία και ανοίξτε το Ανοιχτά αρχεία και θύρες για να δείτε τη διαδρομή της.
Τι δεν δείχνει: δεν σας λέει γιατί εκτελείται μια διεργασία, αν επανέρχεται μετά από επανεκκίνηση ή ποιο αρχείο την ξεκινά. Ονόματα όπως com.adobe.acc.installer.v2 ή Google Chrome Helper (Renderer) λένε λίγα.
2. Στοιχεία σύνδεσης και επεκτάσεις: τι ξεκινά μόνο του
Ανοίξτε τις Ρυθμίσεις συστήματος › Γενικά › Στοιχεία σύνδεσης και επεκτάσεις. Βλέπετε δύο λίστες:
- Άνοιγμα κατά τη σύνδεση: εφαρμογές που ανοίγουν όταν συνδέεστε. Επιλέξτε μία και κάντε κλικ στο – για να την αφαιρέσετε.
- Να επιτρέπεται στο παρασκήνιο: εφαρμογές και προγραμματιστές με βοηθητικές διεργασίες παρασκηνίου, όπως προγράμματα ενημέρωσης, agents συγχρονισμού ή παρακολούθηση VPN. Ένας διακόπτης τις απενεργοποιεί. Δείτε τι σημαίνει το «Να επιτρέπεται στο παρασκήνιο».
Τι δεν δείχνει: δεν λέει αν ένα στοιχείο εκτελείται τώρα, πόση μνήμη χρησιμοποιεί ή από ποιο αρχείο προέρχεται. Ορισμένες καταχωρίσεις εμφανίζουν μόνο όνομα προγραμματιστή.
3. Οι φάκελοι LaunchAgents και LaunchDaemons
Οι περισσότερες εργασίες παρασκηνίου που ξεκινούν μόνες τους είναι εργασίες launchd. Η καθεμία είναι ένα μικρό αρχείο .plist που λέει στο macOS τι να εκτελέσει και πότε. Στο Finder, επιλέξτε Μετάβαση › Μετάβαση σε φάκελο… (⇧⌘G) και ανοίξτε:
| Φάκελος | Εκτελείται ως | Ξεκινά |
|---|---|---|
~/Library/LaunchAgents | Εσείς | Όταν συνδέεστε |
/Library/LaunchAgents | Κάθε χρήστης | Όταν συνδέεται οποιοσδήποτε χρήστης |
/Library/LaunchDaemons | root | Όταν ξεκινά το Mac, πριν από τη σύνδεση |
/System/Library/Launch… | macOS | Προστατευμένοι· μην τους αγγίζετε |
Το όνομα του αρχείου είναι συνήθως η ετικέτα της εργασίας, όπως com.google.keystone.agent.plist. Ανοίξτε το σε επεξεργαστή κειμένου για να δείτε τα ProgramArguments (τι εκτελείται), RunAtLoad (εκκίνηση κατά τη σύνδεση) και KeepAlive (επανεκκίνηση αν σταματήσει).
Τι δεν δείχνει: από το macOS 13, οι εφαρμογές μπορούν επίσης να καταχωρίζουν εργασίες παρασκηνίου μέσα από το δικό τους πακέτο εφαρμογής, χωρίς αρχείο σε αυτούς τους φακέλους. Αυτές εμφανίζονται μόνο στο Να επιτρέπεται στο παρασκήνιο.
4. Τερματικό: η πλήρης λίστα
Αυτές οι εντολές κάνουν μόνο ανάγνωση. Δεν αλλάζουν τίποτα.
Όλες οι εργασίες launchd που είναι φορτωμένες για τον χρήστη σας, με αναγνωριστικό διεργασίας (παύλα σημαίνει ότι δεν εκτελείται) και τελευταίο κωδικό εξόδου:
launchctl list | grep -v com.apple
Λεπτομέρειες μιας εργασίας, μαζί με τη διαδρομή του plist και την κατάστασή της:
launchctl print gui/$(id -u)/com.example.label
Διεργασίες που ακούν σε θύρα δικτύου (διακομιστές ανάπτυξης, εργαλεία συγχρονισμού):
lsof -nP -iTCP -sTCP:LISTEN
Οι δικές σας διεργασίες, με πρώτες όσες χρησιμοποιούν την περισσότερη μνήμη (το RSS είναι σε kilobyte):
ps -U $(id -u) -o pid,rss,etime,comm -m | head -30
Κάθε στοιχείο σύνδεσης και στοιχείο παρασκηνίου που γνωρίζει το macOS (χρειάζεται τον κωδικό διαχειριστή σας· η έξοδος είναι μεγάλη):
sudo sfltool dumpbtm
Τι είναι φυσιολογικό;
- Πολλές βοηθητικές διεργασίες για μία εφαρμογή. Το Chrome, το Slack, το VS Code και άλλες εφαρμογές Chromium ή Electron εκτελούν μία διεργασία ανά καρτέλα ή παράθυρο. Τερματίζονται μαζί με την εφαρμογή.
- Προγράμματα ενημέρωσης. Η Google, η Microsoft, η Adobe και η Zoom εγκαθιστούν agents που ελέγχουν για ενημερώσεις. Είναι συνήθως μικρά και η διακοπή τους είναι ασφαλής, αλλά τότε η εφαρμογή δεν θα ενημερώνεται μόνη της.
- Συγχρονισμός cloud και VPN. Το Dropbox, το OneDrive και τα προγράμματα VPN χρειάζονται τις βοηθητικές τους διεργασίες για να λειτουργούν. Αν τις σταματήσετε, σταματά ο συγχρονισμός ή η προστασία.
- Εργαλεία ανάπτυξης. Οι υπηρεσίες Homebrew, το Docker, οι βάσεις δεδομένων και οι τοπικοί διακομιστές ανάπτυξης συνεχίζουν να εκτελούνται αφού κλείσετε το τερματικό.
Αν δεν αναγνωρίζετε ένα όνομα, αναζητήστε την ετικέτα του ή το όνομα του προγραμματιστή στη διαδρομή του πριν το σταματήσετε.
Συχνές ερωτήσεις
Είναι κακό να εκτελούνται πολλές διεργασίες σε ένα Mac;
Όχι. Ένα κανονικό Mac εκτελεί αρκετές εκατοντάδες διεργασίες, και οι περισσότερες ανήκουν στο macOS. Αναζητήστε τις λίγες που χρησιμοποιούν πολλή μνήμη ή CPU ή που δεν αναγνωρίζετε.
Γιατί η Παρακολούθηση δραστηριότητας εμφανίζει τόσες διεργασίες Google Chrome Helper;
Το Chrome και άλλες εφαρμογές Chromium ή Electron εκτελούν μία βοηθητική διεργασία ανά καρτέλα, επέκταση ή renderer. Είναι μέρος της εφαρμογής και τερματίζονται όταν κλείνει η εφαρμογή.
Πού αποθηκεύονται τα launch agents σε ένα Mac;
Στο ~/Library/LaunchAgents για τον χρήστη σας, στο /Library/LaunchAgents για όλους τους χρήστες και στο /Library/LaunchDaemons για εργασίες σε επίπεδο συστήματος που εκτελούνται ως root. Οι φάκελοι στο /System/Library ανήκουν στο macOS και είναι προστατευμένοι.
Εμφανίζει τα πάντα η λίστα Στοιχείων σύνδεσης στις Ρυθμίσεις συστήματος;
Όχι. Εμφανίζει εφαρμογές που ανοίγουν κατά τη σύνδεση και εφαρμογές με στοιχεία παρασκηνίου, ομαδοποιημένες ανά εφαρμογή ή προγραμματιστή. Δεν εμφανίζει τι εκτελείται τώρα, πόση μνήμη χρησιμοποιεί ή ποιο αρχείο το ξεκινά.