Como listar todos os serviços habilitados do systemctl?

Como posso listar todos enabled serviços de systemctl?

Eu sei correr systemctl o comando por si só lista todos os Serviços, mas eu gostaria de obter apenas o enabled o.

systemctl list-unit-files | grep enabled irá listar todos habilitado o.

Se você quiser quais são atualmente execucao, você precisa systemctl | grep running.

Use o que você está procurando. Habilitado, não significa que está em execução. E correr não significa que está habilitado. São duas coisas diferentes.

Ativado significa que o sistema executará o serviço na próxima inicialização. Portanto, se você ativar um serviço, ainda precisará iniciá-lo manualmente ou reiniciá-lo e ele será iniciado.

Em execução significa que ele está realmente em execução agora, mas se não estiver habilitado, ele não será reiniciado quando você reiniciar.

man systemctl membro:

--state=

O argumento deve ser uma lista separada por vírgulas de unidade LOAD, SUB, ou ACTIVE membro. Ao listar unidades, mostre apenas aquelas nos Estados especificados. Usar --state=failed para mostrar apenas unidades com falha.

Explicacao:

LOAD: Reflete se a definição da unidade foi carregada corretamente.
ACTIVE: O estado de ativação da unidade de alto nível, ou seja, generalização de 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 usar isso para mostrar apenas enabled unidades com:

systemctl list-unit-files --state=enabled

Se uma unidade é enabled isso significa que o sistema irá iniciá-lo na inicialização. Embora definindo algo para enabled na verdade, também não start então você precisará fazer isso manualmente ou reiniciar o sistema depois de configurá-lo para enabled.

Para listar todos os systemd serviço que estão em state=active e sub=running

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

Para listar todos os systemd serice que estão em state=active e sub correndo ou saindo

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

Para ver os serviços 'habilitados', incluindo aqueles que ainda estão em execução upstart / init:

systemctl list-unit-files --type service --state enabled,generated

Para ver todos os Serviços atualmente em execução:

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

Também Visão Geral de todos os serviços ativos e com falha:

systemctl list-units --type service --state running,failed

Existe um bom aplicativo GUI chamado Stacer, onde você pode gerenciar todos os Serviços.

enter image description here

Verifique seu link do Github Stacer Github
Verificar Site para mais informações

Além das respostas atuais, uso o seguinte para obter apenas os nomes dos serviços:

systemctl list-units --type=service --state=active,running | awk '/.*\.service/ {print $1}'

Em vez do formato tabular, Isso torna mais fácil canalizar apenas esses serviços para outro programa

@ Gen habilitar um serviço é bem diferente de iniciá-lo. Veja ‘Man systemctl’`

Fascinante. A resposta com classificação mais baixa é a resposta mais" correta", embora claramente não seja a melhor resposta. Esta excelente pergunta (e suas respostas) é um exemplo interessante de como o systemd viola os princípios de design de longa data (e brilhantes) do Unix & Co. @ FelipeAlvarez reclama que a resposta mais aceita assume que systemd segue a filosofia de design unix, mas systemd/systemctl pode fazer exatamente o que ele quer (a maioria dos usuários experientes considerará apenas esse inchaço completo). Começo a ver mais claramente por que Linus Torvalds é tão veementemente crítico do systemd.

o que você quer dizer com habilitado? Você quer dizer serviços que estão em execução?