Como usar o Systemd para listar serviços

Todas as distribuições principais do Linux usam Systemd, um sistema init que funciona com base na ativação e desativação de arquivos de “serviço”. Se você está tentando listar esses arquivos de serviço, mas não sabe como fazer, você precisará usar o comando systemctl.

Neste guia, examinaremos as várias maneiras pelas quais você pode listar arquivos de serviço Systemd no Linux. Para começar, certifique-se de usar um sistema operacional Linux com Systemd. Em seguida, abra uma janela de terminal e siga em frente.

Use Systemd para listar serviços ativos

Se você estiver usando muito o Systemd, em algum momento, você pode querer saber quais serviços estão ativos enquanto o seu sistema Linux é inicializado. Listar serviços ativos é muito fácil e você pode fazer isso com o comando systemctl –type = service systemctl –type = service –state = running.

Este comando, ao ser executado, mostrará uma tabela de todos os serviços, caso estejam ativos, além de uma breve descrição. Para executar este programa, abra uma janela de terminal. Assim que a janela do terminal estiver aberta, execute o comando abaixo.

systemctl --type=service --state=running

Se você está tentando filtrar todos os serviços ativos para um serviço específico, olhar esta grande tabela pode ser muito tedioso. Felizmente, o comando systemctl pode ser combinado com o comando grep como um mecanismo de filtragem.

Por exemplo, para verificar se “snapd.service” está sendo executado e carregado, você pode executar systemctl –type = service –state = running | grep ‘snapd,’ e a saída mostrará apenas o serviço Snapd, em vez de toda a tabela.

systemctl --type=service --state=running | grep 'snapd'

Se você quiser salvar a saída da tabela em um arquivo de texto para usar mais tarde, use o seguinte comando.

systemctl --type=service --state=runningrunning > ~/active-services.txt

Para visualizar o arquivo de texto a qualquer momento, execute o comando cat abaixo.

cat ~/active-services.txt

Use Systemd para listar serviços inativos

Listar serviços Systemd ativos é útil, mas e os inativos? Sim, é possível listá-los também. Veja como. Primeiro, abra uma janela de terminal.

Assim que a janela do terminal estiver aberta e pronta para uso, execute o comando systemctl –type = service, mas no slot –state = coloque “inativo” em vez de “executando”. Ao fazer isso, você pode ver quais serviços Systemd estão inativos em seu sistema Linux.

systemctl --type=service --state=inactive

Como com os serviços ativos, o Systemd criará uma tabela bonita e organizada e mostrará quais serviços do Systemd estão inativos, mortos e fora de uso. Se desejar filtrar por esta tabela para descobrir se um serviço específico está inativo, você pode combiná-lo com o comando grep.

Por exemplo, para determinar se o arquivo “updatedb.service” está inativo, você pode combinar systemctl –type = service –state = inactive com o comando grep abaixo para procurá-lo na tabela.

systemctl --type=service --state=inactive | grep 'updatedb.service'

Se você precisar salvar todos os arquivos de serviço Systemd inativos em um arquivo de texto para leitura posterior, use o seguinte comando.

systemctl --type=service --state=inactive > ~/inactive-services.txt

Para ler este arquivo de texto diretamente da janela do terminal, use o comando cat.

cat  ~/inactive-services.txt

Use Systemd para listar todos os serviços instalados

Se você precisar ver todos os serviços Systemd instalados, estejam eles ativos ou não, você precisará usar o comando systemctl list-unit-files –type = service e excluir a opção de linha de comando –state. Ao excluir –state, o Systemd será capaz de listar todos e cada um dos arquivos de serviço em seu computador com facilidade.

systemctl list-unit-files --type=service

Assim que o comando acima for executado, o Systemd imprimirá uma tabela com cada arquivo de serviço no sistema. A partir daqui, você pode classificar a tabela para encontrar o arquivo de serviço de que precisa.

Se você não conseguir encontrar um arquivo de serviço específico, pode combinar o comando systemctl list-unit-files –type = service com o comando grep para usar um filtro. Usando o comando abaixo, filtre a tabela para encontrar o arquivo de serviço de que você precisa.

systemctl list-unit-files --type=service | grep 'my-service'

Deseja exportar todos os serviços Systemd para um arquivo de texto para ler mais tarde? Execute o seguinte comando.

systemctl list-unit-files --type=service > ~/service-files.txt

Você pode visualizar o arquivo de texto a qualquer momento com o comando cat abaixo.

cat ~/service-files.txt

Use Systemd para exibir o status do serviço individual

Embora seja útil saber como listar todos os serviços Systemd, aqueles que estão ativos e inativos, também é útil saber como listar o status dos serviços individualmente. Veja como fazer.

Primeiro, abra uma janela de terminal. Depois que a janela do terminal estiver aberta, use o comando systemctl status em um serviço específico. Por exemplo, para localizar o status de “NetworkManager.service,” o seguinte comando é executado.

systemctl status NetworkManager

Se desejar exportar a saída do comando de status para um arquivo de texto para leitura posterior, você pode inserir o comando abaixo.

systemctl status MyService > ~/MyService-status.txt

Para visualizar este arquivo, execute o seguinte comando cat.

cat ~/MyService-status.txt