**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.
Índice
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 systemd
agora 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 systemctl
comando 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.
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 pstree
comando. Precisamos apenas ver o topo da árvore – afinal, estamos procurando o primeiro processo que é executado – então canalizaremos a saída através do head
comando 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.
O comando para listar serviços e daemons é systemctl
. Podemos refinar o systemctl
comando com as opções type
e state
. Estamos pedindo systemctl
para 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:
systemd
encontradas em um arquivo de unidade.Podemos canalizar a saída systemctl
se grep
quisermos nos concentrar em um único serviço. Este comando isola a entrada da tabela para o ssh
serviço.
systemctl --type=serviço --state=em execução | grep ssh
Até agora, filtramos o conteúdo da tabela fornecendo a state=running
opçã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, systemctl
lista processos — serviços e daemons — que foram iniciados systemd
porque systemd
encontraram 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 systemctl
a 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
Podemos expandir o escopo do systemctl
comando incluindo a list-unit-files
opçã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 state
opçã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 state
opçã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.
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:
man
manual.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.
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.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…