Vous devez accepter la réponse de @Zanna. cela répond beaucoup plus à votre question que la mienne, même si c'est aussi une approche valable.
Videonauth
Réponses:
20
Vous pouvez utiliser certaines des systemctloptions 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.
La systemctlcommande sans sous-commande suppose list-units, donc ... systemctl --type-service --state=running, ou tout simplement une systemctlutilisation rapide.
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}'
Réponses:
Vous pouvez utiliser certaines des
systemctl
options de:Alors probablement, vous voulez:
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:
la source
systemctl
commande sans sous-commande supposelist-units
, donc ...systemctl --type-service --state=running
, ou tout simplement unesystemctl
utilisation rapide.C'est (voir
man 1 systemctl
):ou (voir aussi
man 8 service
)Où le
[+]
indique les services en cours d'exécution.la source
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.
la source