Como listar os serviços Linux com o SystemCTL

por Nada Em Troca
7 minutos de leitura
Como listar os serviços Linux com o SystemCTL

Links de salto

Resumo

  • Na maioria dos dispositivos Linux, você pode executar “SystemCtl –Type = Service – -state = em execução” para ver os serviços em execução.
  • Obtenha informações detalhadas sobre um serviço, SSH, por exemplo, com o comando “Systemctl Status sshd”.
  • Para ver todos os arquivos da unidade ativados no seu sistema, use “SystemCTL List-Unit-Files-State = Enabled”.

Seu computador Linux depende de muitas tarefas de fundo chamadas serviços ou daemons. Em distribuições baseadas no SystemD, você possui comandos internos que permitem ver quais serviços estão em execução, desativados ou falhados.

O que são serviços e daemons?

Serviços e daemons são tarefas de fundo que são executadas sem uma interface do usuário, não exigem interação humana e geralmente são iniciadas como o computador inicializa.

Ao mesmo tempo, os serviços foram lançados por initque 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”. Nas distribuições não-sistemas, esse ainda é o caso.

No mundo Systemd, os serviços são lançados por systemd que agora é o primeiro processo a ser lançado. Os detalhes dos serviços são armazenados em arquivos da unidade localizados no diretório “/usr/lib/systemd”.

Mascote Linux em uma mesa ao lado de um laptop.
Os 8 tipos de programas de terminais Linux: Você conhece todos eles?

Como contar seus filtros de seus tuis.

4
Por Bobby Jack

De acordo com sua página de homem, systemd é um sistema e gerente de serviço. 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.

init ou systemd baseado?

A grande maioria das distribuições Linux usa o Systemd, incluindo arco, Red Hat e Debian, e muitas das distribuições derivadas delas. Isso inclui a família de distribuições do Ubuntu, o Fedora e seus Spins e Manjaro e as outras distribuições baseadas em arco.

No entanto, existem garfos ou sabores de algumas dessas distribuições que foram criadas especificamente para evitar ter que usar o SystemD. Não apenas isso, mas existem outros sistemas init que alguém poderia optar por usar em vez do que veio por padrão em sua distribuição, como Runit ou S6-Linux-Init.

Se você precisar administrar um computador Linux que você não configurou, a única maneira de ter certeza se estiver usando o Systemd ou não, é para verificar. Podemos fazer isso olhando para a árvore de processo com o pstree comando. Só precisamos ver o topo da árvore – estamos procurando o primeiro processo que corre, afinal – então vamos colocar a saída através do head comando e peça as cinco primeiras entradas.

pstree | head -5
Usando PSTree canalizada através da cabeça para determinar se uma instalação do Linux está usando o Systemd

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

Usando o SystemCTL para listar os serviços

O comando para listar serviços e daemons é systemctl. Podemos refinar o systemctl comando com o type e state opções. Estamos perguntando systemctl Para relatar serviços que estão no estado de corrida.

systemctl --type=service --state=running
Usando o SystemCTL para listar os serviços em execução

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

O formulário de saída é uma chamada SystemCTL exibida no Visualizador de Arquivos menos

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

A seção à direita da saída formulou uma chamada SystemCTL exibida no Visualizador de Arquivos Less

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

  • Unidade: O nome do serviço ou daemon. A coluna é intitulada “Unit” porque o que quer que esteja nesta coluna foi lançado usando informações systemd encontrado em um arquivo de unidade.
  • Carregar: O estado de carga do serviço ou daemon. Pode ser carregado, não achado, ruim, erro ou mascarado.
  • Ativo: O estado geral em que o serviço ou daemon está entrando. Pode ser ativo, recarregando, inativo, falhado, ativando ou desativando.
  • SUB: O sub-estate do serviço ou daemon. Pode ser morto, saiu, falhou, inativo ou em execução.
  • Descrição: Uma breve descrição da unidade.

Podemos colocar a saída de systemctl através grep Se queremos focar em um único serviço. Este comando isola a entrada da tabela para o ssh serviço.

systemctl --type=service --state=running | grep ssh
Usando Grep para isolar um único serviço dos resultados

Até agora, estamos filtrando o conteúdo da tabela, fornecendo o state=running opção. Podemos usar qualquer um dos valores possíveis do subestado: Dead, saiu, falhou, inativo ou em execução.

Vamos procurar serviços fracassados:

systemctl --type=service --state=failed
Relatando sobre serviços falhados com o SystemCTL

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

systemctl --type=service --state=failed,exited
Procurando serviços que falharam ou saíram com o SystemCTL

Pressionar a tecla de seta à direita para examinar as colunas off-tels mostra que temos uma mistura de serviços saiu e falhados na lista.

Uma mistura de serviços falhados e saídos encontrados pelo SystemCTL

Por padrão, systemctl Listos processos – serviços e daemons – que foram lançados por systemd porque systemd Encontrou um arquivo de unidade que continha um arquivo de unidade válido para eles. É por isso que o termo abreviado para todo esse processo é “unidades”.

Existe uma opção para solicitar explicitamente systemctl Para listar unidades, mas como é a ação padrão, ela não é frequentemente usada.

Esses comandos produzem os mesmos resultados.

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

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

Usando o SystemCTL para listar arquivos da unidade

Podemos expandir o escopo do systemctl comando incluindo o list-unit-files opção. Isso não relata apenas serviços e daemons que foram lançados, também lista todos os arquivos da unidade instalados no seu computador.

systemctl list-unit-files --state=enabled
Listagem de arquivos da unidade com SystemCTL

Uma tabela colorida é exibida.

Uma lista de arquivos de unidade gerados pelo SystemCTL, exibidos no navegador menos de arquivo

Removendo o state a opção remove a filtragem. A saída conterá todos os arquivos da unidade instalados, independentemente de seu estado.

systemctl list-unit-files
Usando o SystemCTL para listar arquivos da unidade sem filtragem

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

Todos os arquivos da unidade listados pelo SystemCTL e exibidos no navegador menos arquivos

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

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

Este comando listará todos os arquivos da unidade que estão desativados ou falhados em iniciar.

systemctl list-unit-files --state=disabled,failed
Usando o SystemCTL para procurar arquivos de unidade que correspondam a um dos dois estados

Um número reduzido de resultados é mostrado, filtrado de acordo com as seleções que você fez com a opção de estado.

Uma mistura de arquivos de unidade desabilitados e com falha encontrados pelo SystemCTL

Olhando para um serviço em detalhes

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

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.

systemctl status sshd
Os detalhes de um único serviço exibido pelo SystemCTL

Esta tela compacta mostra:

  • O nome do serviço junto com uma breve descrição. Um ponto com código de cores mostra se está em execução ou não. Verde significa que está funcionando, vermelho significa que não é.
  • O que foi carregado, incluindo o caminho para o arquivo da unidade.
  • Há quanto tempo está funcionando.
  • Onde a documentação está localizada no man manual.
  • 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 controle ao qual o serviço pertence.

As entradas relevantes do log do sistema também são mostradas. Normalmente, esses são eventos como a inicialização do serviço. Isso pode ser informativo se você estiver investigando um serviço ou daemon que não foi lançado corretamente.

Dados do servidor em um monitor com o banco de dados MySQL.
5 grandes utilitários do Linux para monitorar seus recursos do sistema no terminal

Porque os principais utilitários não fazem tudo.

3
Por Graeme Peacock

Os sistemas autonômicos

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 visualização de seus serviços, daemons e arquivos da unidade é fácil e informativo. É também uma etapa valiosa de solução de problemas se um serviço ou daemon se recusar a começar.

Este artigo foi útil?
Gostei0Não Gostei0

Deixe um comentário

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?
-
00:00
00:00
Update Required Flash plugin
-
00:00
00:00