Quelle systemctl
option ou commande utiliser pour afficher un résumé de tous les services en cours d'exécution?
Quelle systemctl
option ou commande utiliser pour afficher un résumé de tous les services en cours d'exécution?
Réponses:
Vous pouvez utiliser certaines des systemctl
options de:
-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.
Alors probablement, vous voulez:
systemctl --type=service --state=active list-units
Qui répertorie tous les services actifs, y compris ceux qui ont quitté. Si vous ne cherchez que ceux qui courent en ce moment, vous pouvez utiliser:
systemctl --type=service --state=running list-units
systemctl
commande sans sous-commande suppose list-units
, donc ... systemctl --type-service --state=running
, ou tout simplement une systemctl
utilisation rapide.
C'est (voir man 1 systemctl
):
systemctl list-units | grep -E 'service.*running'
ou (voir aussi man 8 service
)
service --status-all
Où le [+]
indique les services en cours d'exécution.
Après avoir cherché plus longtemps que nécessaire, j'ai trouvé cette méthode légèrement différente de déterminer les services en cours d'exécution. Il montre également comment compter le nombre de services en cours d'exécution. De cette façon, il n'est pas possible d'attraper accidentellement quelque chose avec le mot running ou service dans le nom du service lui-même.
# 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}'