Você deve aceitar a resposta de @Zanna. é muito mais abordar sua pergunta como a minha, mesmo que também seja uma abordagem válida.
Videonauth
Respostas:
20
Você pode usar algumas das systemctlopçõ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.
O systemctlcomando sem subcomandos assume list-units, então ... systemctl --type-service --state=running, ou apenas uma planilha systemctlpara uso rápido.
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}'
Respostas:
Você pode usar algumas das
systemctl
opções de:Então provavelmente você quer:
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:
fonte
systemctl
comando sem subcomandos assumelist-units
, então ...systemctl --type-service --state=running
, ou apenas uma planilhasystemctl
para uso rápido.É (veja
man 1 systemctl
):ou (veja também
man 8 service
)Onde
[+]
indica os serviços que estão realmente em execução.fonte
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.
fonte