Como usar o comando systemctl no Linux!

Este artigo pretende, dar exemplos sobre como utilizar o comando systemctl status em systemd para ver o status do serviço fornecido em sistemas operacionais Linux e suas respectivas distribuições. Com o comando systemctl você consegue gerenciar todos os serviços ativos ou inativos em qualquer sistemas baseado no Linux.

Confira alguns exemplos de uso o comando systemctl que podem facilitar a administração de sistemas Linux.

Visualizando o Status de um Serviço com o systemd

A sintaxe é a seguinte para o comando systemctl

systemctl status {service-name}
systemctl status {unit-name}

Como visualizar o status de um serviço chamado httpd com o systemctl

Exemplo do comando:

Terminal
systemctl status httpd.service
Terminal
systemctl status sshd.service

SYSTEMTCL STATUS SSHD

O ponto (“ verde “) usa cores nos terminais suportados para resumir o estado da unidade em um relance. A cor branca indica um estado “inativo” ou “desativado”. A cor vermelha indica um estado de “falha” ou “erro”. Verde indica um estado “ativo”, “recarregando” ou “ativando”.

Compreender os estados de serviço ou unidade do systemd no LINUX

O status do serviço do systemctl no Linux depende de vários estados, como a seguir:

Atualmente as seguintes unidades são suportadas pelo systemd

service: Configuração da unidade de serviço sobre um processo controlado e supervisionado pelo systemd.

mount: Ponto de montagem do sistema de arquivos controlado e supervisionado pelo systemd.
swap: Troca de arquivo / configuração de disco controlada pelo systemd.

socket: Um IPC ou socket de rede, ou um sistema de arquivos FIFO controlado e supervisionado pelo systemd, para ativação baseada em socket.

target: Contém informações sobre uma unidade de destino do systemd. É usado para agrupar unidades e como pontos de sincronização bem conhecidos durante a inicialização. Por exemplo, graphical.target é usado para login de desktop baseado em GUI. Da mesma forma, multi-user.target é usado por servidores onde os usuários podem fazer login usando ssh / console.

device: Uma unidade de dispositivo conforme exposta na árvore de dispositivos sysfs / udev. Inclui rede e outros dispositivos.

automount: Sistemas de arquivos Automount

timer: Unidade systemd semelhante ao Cron para executar comandos e serviços em um determinado formato de data / hora. Por exemplo, atualize o firmware ou limpe a sessão criada por aplicativos da web em Python, ou PHP.

path: Uma unidade de destino especial do systemd que configura todas as unidades de caminho. Por exemplo, o systemd pode executar uma ação certian dependendo do caminho do sistema de arquivos. Se / etc / foo / modifed realizar alguma ação.

slice: Usamos uma fatia do systemd para isolar cargas de trabalho. Eles definem uma hierarquia na qual os escopos e o serviço são colocados. Os processos reais estão contidos em escopos ou em serviços. Pense nele como um Docker leve. Para cada fatia, certos limites de recursos, como CPU ou limite de E / S de disco, podem ser definidos e se aplicam a todos os processos.

scope: As unidades de escopo não são configuradas por meio de arquivos de configuração de unidade, mas apenas criadas programaticamente usando as interfaces de barramento do systemd. Eles são nomeados de forma semelhante a nomes de arquivos. Uma unidade cujo nome termina em “.scope” refere-se a uma unidade de escopo. As unidades de escopos gerenciam um conjunto de processos do sistema. Ao contrário das unidades de serviço, as unidades de escopo gerenciam processos criados externamente e não bifurcam processos por conta própria. O principal objetivo das unidades de escopo é agrupar processos de trabalho de um serviço do sistema para organização e gerenciamento de recursos.

Podemos listar todas as unidades de serviços da seguinte forma:

Terminal
sudo systemctl --type=service

Quer ver as unidades do tipo de montagem? Experimente:

Terminal
sudo systemctl --type=mount

Exibir todas as unidades de cronômetro do systemd em sua caixa Linux:

Terminal
sudo systemctl -t timer


Para mostrar todos os arquivos da unidade instalada, use:

Terminal
sudo systemctl list-unit-files

Como listar as unidades que o systemd tem atualmente na memória

Execute o seguinte comando do systemctl na sua distribuição Linux.

Terminal
sudo systemctl list-units
sudo systemctl list-units | more
sudo systemctl list-units | grep sshd
sudo systemctl list-units --type service
sudo systemctl list-units --type timer

Listar systemd/systemctl todas as unidades/serviços com falha no Linux

Terminal
sudo systemctl list-units --failed
sudo systemctl list-units --state failed
sudo systemctl list-units --state failed --type service
sudo systemctl list-units --state failed --type timer

As opções de comando systemctl para listar todas as unidades/serviços com falha

O que fazer se o serviço como o nginx não estiver sendo executado?

Ative o serviço systemd:

Terminal
sudo systemctl enable nginx.service

Inicie o serviço nginx:

Terminal
sudo systemctl start nginx.service

Podemos interromper ou reiniciar o serviço da seguinte maneira: Verifique se um serviço está habilitado ou não, execute: Consulte o status novamente: Para ver resultados completos para problemas de serviço de depuração, passe a opção ou: Nós podemos depurar e ver todas as mensagens de registro relacionadas ao serviço usando o comando journalctl:

Terminal
sudo systemctl stop nginx.service
sudo systemctl restart nginx.service
sudo is-enabled nginx.service
sudo status nginx.service --full-l
sudo status nginx.service -l
sudo status openvpn.service --full

Conclusão sobre o uso do Systemctl no Linux

Agora você conhecer os principais usos do comando systemctl no Linux e poderá usufruir desta importante e poderosa ferramenta. Abaixo incluímos alguns artigos que complementarão seu conhecimento.

Sair da versão mobile