Comando Systemctl per visualizzare un riepilogo dei servizi in esecuzione


12

Quale systemctlopzione o comando dovrei usare per visualizzare un riepilogo di tutti i servizi attualmente in esecuzione?


Dovresti accettare la risposta di @Zanna. risponde molto di più alla tua domanda come la mia, anche se è anche un approccio valido.
Videonauth,

Risposte:


20

È possibile utilizzare alcune delle systemctlopzioni:

-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.

Quindi probabilmente vuoi:

systemctl --type=service --state=active list-units

Che elenca tutti i servizi attivi inclusi quelli che sono usciti. Se stai solo cercando quelli in esecuzione in questo momento puoi usare:

systemctl --type=service --state=running list-units

3
Il systemctlcomando senza alcun sottocomando presuppone list-units, quindi ... systemctl --type-service --state=running, o semplicemente un semplice systemctlper un rapido utilizzo.
Muru,


4

Dopo essermi guardato intorno più a lungo del necessario, mi sono inventato questo metodo leggermente diverso per determinare i servizi in esecuzione. Mostra anche come contare il numero di servizi in esecuzione. In questo modo si garantisce che non si verifichi accidentalmente qualcosa con la parola running o service nel nome stesso dei servizi.

# 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}'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.