Como visualizar os serviços do Linux usando o comando systemctl
Gerenciar serviços no Linux pode ser um pouco complicado para iniciantes, especialmente porque iniciar, parar ou simplesmente verificar os serviços é crucial para o seu bom funcionamento.Às vezes, os serviços apresentam comportamentos inesperados ou não se comportam como esperado, então saber como listá-los e controlá-los usando o systemctl é essencial. Este guia apresenta os comandos e truques fundamentais para manter seu sistema Linux funcionando sem problemas e oferece dicas práticas, que não são apenas um texto copiado e colado, mas sim fruto da experiência de lidar com esses problemas diversas vezes.
Como gerenciar e solucionar problemas de serviços com o systemctl
Liste todos os serviços para ver o que está em execução ou não.
Se você está tentando descobrir quais serviços estão carregados no seu sistema — talvez algo não esteja funcionando corretamente — o primeiro passo é listar tudo. Execute o seguinte comando no seu terminal:
sudo systemctl list-units --type=service
Este comando exibirá uma tabela mostrando todos os serviços com colunas como UNIT, LOAD, ACTIVE, SUB e DESCRIPTION. Em algumas configurações, você pode notar que a tabela pode ser um pouco confusa — porque o Linux gosta de ser verboso. A coluna UNIT mostra o nome do arquivo, como ssh.service, enquanto o estado ACTIVE indica se o serviço está em execução ou não. Se você quiser ver tudo, incluindo serviços inativos ou com falha, adicione --all:
sudo systemctl list-units --type=service --all
Isso é especialmente útil se você estiver tentando rastrear um serviço que suspeita não estar funcionando ou não estar habilitado na inicialização. Afinal, o Linux precisa complicar as coisas em relação a simplesmente apertar um botão, mas conhecer esses comandos ajuda você a dar uma olhada por trás da cortina.
Verifique quais serviços estão ativos ou inativos.
Se houver suspeita de que um serviço específico não esteja em execução ou não esteja iniciando corretamente, identifique o problema:
sudo systemctl list-units --type=service --state=active
Este filtro exibe apenas os serviços ativos (em execução).Por outro lado, se você quiser ver o que está parado, execute:
sudo systemctl list-units --type=service --state=inactive
Útil para identificar serviços que podem precisar de reinicialização manual ou que não estão iniciando na inicialização do sistema. Aliás, se um serviço parecer inativo, mas deveria estar em execução, talvez seja necessário iniciá-lo manualmente.
Identifique serviços com problemas — porque às vezes eles simplesmente param de funcionar.
Se um serviço não estiver funcionando e você o vir listado, mas com o status de falha, verifique o seguinte:
sudo systemctl list-units --type=service --state=failed
Isso mostra qualquer serviço que não pôde ser iniciado ou apresentou falha.É um bom primeiro passo para solucionar problemas estranhos, pois, independentemente de quantas vezes você reinicie algo às cegas, isso indicará se o serviço está realmente quebrado.
Veja quais serviços estão configurados para iniciar na inicialização do sistema.
Saber o que está habilitado na inicialização pode evitar muitos problemas mais tarde. Execute:
sudo systemctl list-unit-files --type=service --state=enabled
Esta tabela fornece uma visão geral rápida do que está configurado para ser executado quando o sistema é inicializado, o que pode ser útil se um serviço não estiver iniciando porque está desativado ou mascarado. Para ver os serviços desativados, basta substituir enabledpor disabled.
Obtenha detalhes de um serviço específico.
Quer verificar o que está acontecendo com um serviço específico? Talvez ele esteja apresentando falhas, ou você simplesmente queira saber o status, os registros, o uso de memória etc. Execute:
sudo systemctl status <service-name>
Substitua <service-name>por algo como `ls` nginx.serviceou ` cups.servicels`.A saída mostra o estado atual, os logs recentes e algumas informações sobre CPU/memória — algo como uma verificação de integridade. Em algumas distribuições, você pode achar mais útil usar `ls` journalctl -u <service-name>para logs detalhados.
Iniciar, parar, reiniciar e recarregar serviços — as alterações devem ser mantidas.
Iniciar um serviço
Quando precisar que um serviço esteja em funcionamento, talvez após configurá-lo, execute o seguinte comando:
sudo systemctl start <service-name>
Isso inicia o serviço sem complicações. Verifique se está funcionando com status.
Interromper um serviço
Para interromper um serviço com mau funcionamento ou desnecessário, execute o seguinte comando:
sudo systemctl stop <service-name>
Reiniciar ou Recarregar (Para alterações sem interrupção)
Se você editou os arquivos de configuração e deseja aplicar as alterações, reiniciar geralmente é a solução, mas alguns serviços oferecem suporte à recarga rápida. Para reiniciar:
sudo systemctl restart <service-name>
Ou, se for compatível, basta recarregar a configuração:
sudo systemctl reload <service-name>
Observação: Nem todos os serviços suportam recarregamento; consulte a documentação primeiro. Geralmente, isso é mais seguro se você estiver fazendo apenas pequenos ajustes, como alterar um parâmetro de configuração.
Ativar ou desativar serviços na inicialização
Deseja que um serviço seja iniciado automaticamente ao ligar o computador? Ative-o:
sudo systemctl enable <service-name>
E se você não quiser que ele inicie novamente, desative-o:
sudo systemctl disable <service-name>
Se você quiser fazer as duas coisas ao mesmo tempo — habilitar e iniciar imediatamente — basta adicionar --now:
sudo systemctl enable --now <service-name>
Serviços de colocar e retirar máscaras — Bloqueá-los ou torná-los disponíveis novamente
O mascaramento impede que um serviço seja iniciado de qualquer forma. Se você quiser bloqueá-lo:
sudo systemctl mask <service-name>
Isso vincula o serviço a /dev/null, impedindo que ele seja iniciado manual ou automaticamente.Útil se você tiver um serviço que simplesmente não deseja que seja executado, nunca. Para desbloqueá-lo, basta remover a máscara:
sudo systemctl unmask <service-name>
Dica — Às vezes, um serviço simplesmente se recusa a iniciar ou fica travado com a máscara acionada — reinicie ou limpe os caches, ou até mesmo reinicie o sistema após a ativação/desativação da máscara se as coisas ficarem estranhas. Isso acontece com mais frequência do que você imagina, especialmente com serviços persistentes ou provenientes de scripts personalizados.
Conclusão
Familiarizar-se com o systemctl é uma virada de jogo no Linux. Ele nem sempre é perfeito, e alguns comandos se comportam de maneira diferente dependendo da distribuição ou versão, mas esses conceitos básicos abrangem a maioria das situações — seja para solucionar problemas, personalizar ou simplesmente tentar fazer um serviço funcionar corretamente. Espere um pouco de tentativa e erro, especialmente com serviços mascarados, mas depois que você pegar o jeito, controlar seu sistema se torna muito mais fácil.
Resumo
- Use
systemctl list-units --type=servicepara visualizar seus serviços - Verifique o status com
systemctl status <service> - Iniciar/parar com
systemctl start/stop <service> - Ativar ou desativar na inicialização com
systemctl enable/disable <service> - Serviços que exigem o uso de máscara ou a remoção de máscaras, caso estejam resistindo.
Espero que isso evite dores de cabeça para alguém. O gerenciamento de serviços no Linux nem sempre é amigável, mas com esses comandos, você estará muito à frente. Tomara que isso ajude — funcionou em várias configurações, então talvez funcione para você também.
Artigos Relacionados
Este artigo foi útil?