Πώς μπορώ να παραθέσω όλες τις "ενεργοποιημένες" υπηρεσίες από το "systemctl";
Ξέρω ότι η εκτέλεση της εντολής systemctl
από μόνη της παραθέτει όλες τις υπηρεσίες, αλλά θα ήθελα να βλέπω μόνο τις ενεργοποιημένες
.
Η εντολή systemctl list-unit-files | grep enabled
θα εμφανίσει όλα τα ενεργοποιημένα αρχεία.
Αν θέλετε ποια από αυτά τρέχουν αυτή τη στιγμή, χρειάζεστε το systemctl | grep running
.
Χρησιμοποιήστε αυτό που ψάχνετε. Ενεργοποιημένο, δεν σημαίνει ότι τρέχει. Και το ότι τρέχει δεν σημαίνει ότι είναι ενεργοποιημένο. Είναι δύο διαφορετικά πράγματα.
Ενεργοποιημένο σημαίνει ότι το σύστημα θα εκτελέσει την υπηρεσία κατά την επόμενη εκκίνηση. Έτσι, αν ενεργοποιήσετε μια υπηρεσία, θα πρέπει ακόμα να την εκκινήσετε χειροκίνητα ή να κάνετε επανεκκίνηση και θα ξεκινήσει.
Running σημαίνει ότι στην πραγματικότητα εκτελείται αυτή τη στιγμή, αλλά αν δεν είναι ενεργοποιημένη, δεν θα επανεκκινήσει όταν κάνετε επανεκκίνηση.
Το man systemctl
δηλώνει:
--state=
Το όρισμα θα πρέπει να είναι μια λίστα με διαχωρισμό με κόμμα των καταστάσεων της μονάδας
LOAD
,SUB
ήACTIVE
. Κατά την εμφάνιση της λίστας των μονάδων, εμφανίζονται μόνο εκείνες που βρίσκονται στις καθορισμένες καταστάσεις. Χρησιμοποιήστε το--state=failed
για να εμφανίσετε μόνο αποτυχημένες μονάδες.
Επεξήγηση:
LOAD
: Αντικατοπτρίζει αν ο ορισμός της μονάδας φορτώθηκε σωστά.
ACTIVE
: Η κατάσταση ενεργοποίησης της μονάδας υψηλού επιπέδου, δηλαδή η γενίκευση του SUB
.
SUB
: Η κατάσταση ενεργοποίησης μονάδας χαμηλού επιπέδου, οι τιμές εξαρτώνται από τον τύπο της μονάδας.
Αν και μπορείτε επίσης να το χρησιμοποιήσετε για να εμφανίσετε μόνο τις μονάδες με ενεργοποιημένη
:
systemctl list-unit-files --state=enabled
Εάν μια μονάδα είναι ενεργοποιημένη
αυτό σημαίνει ότι το σύστημα θα την ξεκινήσει κατά την εκκίνηση. Αν και το να θέσετε κάτι σε ενεργό
δεν το ξεκινάει
στην πραγματικότητα, οπότε θα πρέπει να το κάνετε αυτό χειροκίνητα, ή να επανεκκινήσετε το σύστημα αφού το θέσετε σε ενεργό
.
Για να εμφανίσετε όλες τις υπηρεσίες systemd
που είναι σε κατάσταση state=active
και sub=running
systemctl list-units --type=service --state=running
Για να εμφανίσετε όλες τις υπηρεσίες systemd
που είναι σε state=active
και sub είτε τρέχουν είτε έχουν τερματιστεί
systemctl list-units --type=service --state=active