Categories: Tecnologia

Como listar serviços Linux com systemctl

**Para ver todos os serviços em execução em um sistema Linux com systemd, use o comando “systemctl –type=service –state=running”. Isso mostrará o nome de cada serviço ativo, carga, sub -estado e descrição. Você também pode alterar o valor do estado para ver os serviços que estão inativos, encerrados, com falha ou inativos.**

Seu computador Linux depende de muitas tarefas em segundo plano chamadas serviços ou daemons. Nas distribuições baseadas no systemd, você possui comandos integrados que permitem ver quais serviços estão em execução, desativados ou com falha.

Serviços e Daemons

Serviços e daemons são tarefas em segundo plano executadas sem interface de usuário, não requerem interação humana e geralmente são iniciadas quando o computador é inicializado.

Ao mesmo tempo, os serviços foram lançados pela init, que foi o primeiro processo a ser lançado. Os detalhes dos serviços foram mantidos em uma coleção de scripts localizados no diretório “/etc/init/d”. Em distribuições não-systemd, esse ainda é o caso.

No mundo systemd, os serviços são lançados, sendo systemdagora o primeiro processo a ser lançado. Os detalhes dos serviços são armazenados em arquivos unitários localizados no diretório “/usr/lib/systemd”.

De acordo com sua página de manual, systemdé um gerenciador de sistemas e serviços. Você pode usar o systemctlcomando para inspecionar e controlar diferentes aspectos do sistema systemd, incluindo serviços e daemons.

Como estamos analisando comandos específicos do systemd aqui, a primeira coisa que você precisa saber é se está executando uma distribuição baseada no systemd ou não.

init ou baseado em systemd?

A grande maioria das distribuições Linux usa systemd, incluindo Arch, Red Hat e Debian, e muitas das distribuições derivadas deles. Isso inclui a família de distribuições Ubuntu , Fedora e suas versões, e Manjaro e outras distribuições baseadas em Arch.

No entanto, existem bifurcações ou versões de algumas dessas distribuições que foram criadas especificamente para evitar o uso do systemd. Não só isso, mas existem outros sistemas init que alguém poderia escolher usar em vez daquele que veio por padrão em sua distribuição, como runit ou s6-linux-init .

Se você tiver que administrar um computador Linux que não foi configurado por você mesmo, a única maneira de ter certeza se ele está usando o systemd ou não é verificar. Podemos fazer isso observando a árvore de processos com o pstreecomando. Precisamos apenas ver o topo da árvore – afinal, estamos procurando o primeiro processo que é executado – então canalizaremos a saída através do headcomando e solicitaremos as cinco primeiras entradas.

pstree | cabeça -5

Podemos ver que esse systemdé o primeiro processo executado após a inicialização, então estamos definitivamente em uma instalação do Linux baseada em systemd.

Usando systemctl para listar serviços

O comando para listar serviços e daemons é systemctl. Podemos refinar o systemctlcomando com as opções typee state. Estamos pedindo systemctlpara relatar os serviços que estão em execução.

systemctl --type=serviço --state=em execução

Uma tabela de informações é gerada. Se for muito largo ou longo para a janela do seu terminal, ele será exibido no visualizador de arquivos padrão, que provavelmente será less.

Para ver a extremidade direita da tabela, pressione a tecla de seta para a direita. Para retornar à visualização normal, pressione a tecla Seta para a esquerda.

Pressione a tecla Q para sair de menos. As colunas exibidas são:

  • Unidade : O nome do serviço ou daemon. A coluna é intitulada “Unidade” porque tudo o que está nesta coluna foi iniciado usando informações systemdencontradas em um arquivo de unidade.
  • Load : O estado de carregamento do serviço ou daemon. Ele pode ser carregado, não encontrado, configuração incorreta, erro ou mascarado.
  • Ativo : o estado geral em que o serviço ou daemon se encontra. Pode ser ativo, recarregando, inativo, com falha, ativando ou desativando.
  • SUB : O subestado do serviço ou daemon. Ele pode estar morto, encerrado, com falha, inativo ou em execução.
  • Descrição : Uma breve descrição da unidade.

Podemos canalizar a saída systemctlse grepquisermos nos concentrar em um único serviço. Este comando isola a entrada da tabela para o sshserviço.

systemctl --type=serviço --state=em execução | grep ssh

Até agora, filtramos o conteúdo da tabela fornecendo a state=runningopção. Podemos usar qualquer um dos valores possíveis do subestado: morto, encerrado, com falha, inativo ou em execução.

Vamos procurar serviços com falha:

systemctl --type=serviço --state=falhou

Combinações de subestados podem ser usadas. Digite-os como uma lista separada por vírgulas. Certifique-se de não incluir nenhum espaço em branco entre as opções. Observe que isso encontra serviços que correspondem a qualquer um dos estados.

systemctl --type=serviço --state=falhou, saiu

Pressionar a tecla de seta para a direita para observar as colunas fora da tela mostra que temos uma mistura de serviços encerrados e com falha na lista.

Por padrão, systemctllista processos — serviços e daemons — que foram iniciados systemdporque systemdencontraram um arquivo de unidade que continha um arquivo de unidade válido para eles. É por isso que o termo abreviado para todos esses processos é “unidades”.

Existe uma opção para solicitar explicitamente systemctla listagem de unidades, mas como é a ação padrão, ela não é usada com frequência.

Esses comandos produzem os mesmos resultados.

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

sudo systemctl --type=serviço --state=em execução

Usando systemctl para listar arquivos de unidade

Podemos expandir o escopo do systemctlcomando incluindo a list-unit-filesopção. Isso não apenas informa sobre serviços e daemons que foram iniciados, mas também lista todos os arquivos de unidades instalados em seu computador.

systemctl list-unit-files --state=enabled

Uma tabela colorida é exibida.

Remover a stateopção remove a filtragem. A saída conterá todos os arquivos da unidade instalada, independentemente do seu estado.

arquivos de unidade de lista systemctl

A saída conterá muito mais entradas do que os resultados dos comandos anteriores.

No nosso computador de teste, a lista de resultados é quase quatro vezes maior que a saída dos nossos comandos anteriores.

Se quiser usar a stateopção, você pode usar vários estados com ela, como vimos anteriormente. As mesmas regras se aplicam. Forneça as opções como valores separados por vírgula e não inclua espaços em branco.

Este comando listará todos os arquivos da unidade que estão desabilitados ou que não foram iniciados.

systemctl list-unit-files --state = habilitado, falhou

É mostrado um número reduzido de resultados, filtrados de acordo com as seleções feitas com a opção de estado.

Olhando para um serviço em detalhes

Se algo sobre um serviço ou daemon despertar seu interesse e merecer um mergulho mais profundo, você pode examiná-lo em detalhes usando a opção systemctl status.

Vamos dar uma olhada no daemon SSH, sshd. Tudo o que precisamos fazer é usar a opção de status e o nome do serviço ou daemon.

status do systemctl sshd

Este display compacto mostra:

  • O nome do serviço juntamente com uma breve descrição. Um ponto codificado por cores mostra se ele está em execução ou não. Verde significa que está funcionando, vermelho significa que não está.
  • O que foi carregado, incluindo o caminho para o arquivo da unidade.
  • Há quanto tempo está em execução.
  • Onde a documentação está localizada no manmanual.
  • O ID do processo da instância em execução.
  • Quantas instâncias simultâneas deste serviço estão em execução. Normalmente este será um.
  • Quanta memória está sendo consumida.
  • Quanto tempo de CPU foi consumido.
  • O grupo de controle ao qual o serviço pertence.

Entradas relevantes do log do sistema também são mostradas. Normalmente são eventos como a inicialização do serviço. Eles podem ser informativos se você estiver procurando por um serviço ou daemon que não foi iniciado corretamente.

Os Sistemas Autônomos

Serviços e daemons fornecem muitas ações automáticas do seu sistema operacional, por isso são vitais. Isso significa que a saúde deles também é vital.

Obter uma visão de seus serviços, daemons e arquivos de unidades é fácil e informativo. Também é uma etapa valiosa de solução de problemas se um serviço ou daemon se recusar a iniciar.

maisroot

Recent Posts

O novo aplicativo “PC Manager” da Microsoft se parece muito com o CCleaner

Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…

1 ano ago

Como reiniciar um PS4

Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…

1 ano ago

Veja por que as reticências são tão assustadoras ao enviar mensagens de texto…

A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…

1 ano ago

O telescópio James Webb acaba de capturar os “Pilares da Criação”

A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…

1 ano ago

Você poderá baixar o Proton Drive mais cedo do que pensa

O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…

1 ano ago

Como aumentar o zoom no Photoshop

Para ver suas fotos mais de perto ou para uma edição precisa , você pode…

1 ano ago