Qual systemctl
opção ou comando eu usaria para exibir um resumo de todos os serviços atualmente em execução?
Qual systemctl
opção ou comando eu usaria para exibir um resumo de todos os serviços atualmente em execução?
Respostas:
Você pode usar algumas das systemctl
opções 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.
Então provavelmente você quer:
systemctl --type=service --state=active list-units
Que lista todos os serviços ativos, incluindo os que foram encerrados. Se você estiver atrás apenas dos que estão rodando neste momento, poderá usar:
systemctl --type=service --state=running list-units
systemctl
comando sem subcomandos assume list-units
, então ... systemctl --type-service --state=running
, ou apenas uma planilha systemctl
para uso rápido.
É (veja man 1 systemctl
):
systemctl list-units | grep -E 'service.*running'
ou (veja também man 8 service
)
service --status-all
Onde [+]
indica os serviços que estão realmente em execução.
Depois de procurar por mais tempo do que o necessário, criei esse método um pouco diferente de determinar os serviços em execução. Também mostra como contar o número de serviços em execução. Dessa forma, não é possível capturar acidentalmente algo com a palavra em execução ou serviço no próprio nome dos serviços.
# 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}'