Como posso listar todos os serviços "habilitados" do systemctl
?
Eu sei que rodar o comando systemctl' por si só lista todos os serviços, mas eu gostaria de obter apenas os
ativados'.
O systemctl list-unit-files | grep enabled
irá listar todos os ativados.
Se você quiser quais estão atualmente em execução, você precisa do systemctl | grep running
.
Use aquele que você'está procurando. Activado, não'não significa que'esteja a correr. E correr doesn't significa isso's activado. Eles são duas coisas diferentes.
Activado significa que o sistema irá executar o serviço no próximo arranque. Portanto, se você habilitar um serviço, você ainda precisa iniciá-lo manualmente, ou reiniciá-lo e ele será iniciado.
Executando significa que ele's está realmente rodando agora, mas se ele's não estiver habilitado, ele ganhou't reiniciar quando você reiniciar.
"Man Systemctl" afirma:
`--state=``
O argumento deve ser uma lista separada por vírgulas dos estados
LOAD
,SUB
, ouACTIVE
. Ao listar unidades, mostre apenas aquelas nos estados especificados. Utilize--state=failed
para mostrar apenas as unidades falhadas.
Explicação:
"LOAD": Reflete se a definição da unidade foi devidamente carregada.
ACTIVO
: O estado de ativação da unidade de alto nível, ou seja, a generalização do SUB
.
"SUB": O estado de ativação da unidade de baixo nível, os valores dependem do tipo de unidade.
Embora você também possa utilizar isto para mostrar apenas unidades "habilitadas" com:
systemctl list-unit-files --state=enabled
Se uma unidade estiver ativada
isso significa que o sistema a iniciará na inicialização. Apesar de definir algo como "ativado" não'na verdade também "iniciar", então você precisará fazer isso manualmente, ou reiniciar o sistema após defini-lo como "ativado".
Para listar todos os serviços systemd
que estão em state=ativo
e sub=em execução
.
systemctl list-units --type=service --state=running
Para listar todos os serviços systemd
que estão em state=active
e sub correndo ou saindo
systemctl list-units --type=service --state=active