Welche systemctl
Option oder welchen Befehl würde ich verwenden, um eine Zusammenfassung aller aktuell ausgeführten Dienste anzuzeigen?
Welche systemctl
Option oder welchen Befehl würde ich verwenden, um eine Zusammenfassung aller aktuell ausgeführten Dienste anzuzeigen?
Antworten:
Sie können einige der folgenden systemctl
Optionen verwenden:
-t, --type=
The argument should be a comma-separated list of unit types such as
service and socket.
If one of the arguments is a unit type, when listing units, limit
display to certain unit types. Otherwise, units of all types will
be shown.
As a special case, if one of the arguments is help, a list of
allowed values will be printed and the program will exit.
--state=
The argument should be a comma-separated list of unit LOAD, SUB, or
ACTIVE states. When listing units, show only those in the specified
states. Use --state=failed to show only failed units.
As a special case, if one of the arguments is help, a list of
allowed values will be printed and the program will exit.
Also möchten Sie wahrscheinlich:
systemctl --type=service --state=active list-units
Hier werden alle aktiven Dienste aufgelistet, einschließlich derjenigen, die beendet wurden. Wenn Sie nur nach denen suchen, die gerade ausgeführt werden, können Sie Folgendes verwenden:
systemctl --type=service --state=running list-units
systemctl
Befehl ohne Unterbefehle geht davon aus list-units
, dass ... systemctl --type-service --state=running
oder nur eine Ebene systemctl
für die schnelle Verwendung.
Es ist (siehe man 1 systemctl
):
systemctl list-units | grep -E 'service.*running'
oder (siehe auch man 8 service
)
service --status-all
Wobei das [+]
angibt, welche Dienste tatsächlich ausgeführt werden.
Nachdem ich mich länger als nötig umgesehen hatte, kam ich auf diese etwas andere Methode zur Bestimmung der ausgeführten Dienste. Es wird auch gezeigt, wie die Anzahl der ausgeführten Dienste gezählt wird. Auf diese Weise wird sichergestellt, dass nicht versehentlich etwas mit dem Wort "running" oder "service" im Namen des Dienstes selbst abgefangen wird.
# Output all active services:
systemctl -t service --state=active --no-pager --no-legend
# Count of all active services:
systemctl -t service --state=active --no-pager --no-legend | grep -c -
# Output all running services:
systemctl -t service --state=active --no-pager --no-legend | egrep '^*\.service.*running'
# Count of all running services:
systemctl -t service --state=active --no-pager --no-legend | egrep '^*\.service.*running' -c -
# Output only the service and its description:
systemctl -t service --state=active --no-pager --no-legend | egrep '^*\.service.*running' | awk 'BEGIN { FS = " ";} {for (i = 2; i <= 4; i++) { $i = "" }; print}'