De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 13 de agosto de 2025
O comando systemctl
é a ferramenta principal para controlar e gerenciar o
systemd, o sistema de inicialização e gerenciador de serviços padrão
na maioria das distribuições Linux modernas (como Ubuntu, CentOS 7+,
Fedora, etc.).
Ele substituiu os antigos comandos service
e chkconfig
e se tornou
o padrão para interagir com o gerenciamento de serviços. Em essência, o
systemctl
permite que você controle os "serviços" do seu sistema, que
são processos em segundo plano (ou "daemons") essenciais para o funcionamento
do Linux.
Sua sintaxe básica é simples e intuitiva:
$ systemctl
Você precisa de permissões de root
(usando sudo
) para a maioria
dos comandos que alteram o estado do sistema.
Aqui estão os comandos que você mais usará no dia a dia:
Este é o comando mais útil para diagnosticar problemas. Ele mostra se um serviço está em execução, se falhou, há quanto tempo está ativo, e exibe as últimas linhas de log.
$ systemctl status apache2.service
(ou httpd.service
dependendo da distribuição)
Esses comandos são essenciais para o gerenciamento de serviços.
Iniciar um serviço:
$ sudo systemctl start apache2.service
Parar um serviço:
$ sudo systemctl stop apache2.service
Reiniciar um serviço:
$ sudo systemctl restart apache2.service
Recarregar a configuração de um serviço:
Se você alterar um arquivo de configuração de um serviço (por exemplo, o
arquivo sshd_config
do SSH), você pode recarregar as novas configurações
sem precisar reiniciar o serviço. Isso é mais rápido e evita interrupções.
$ sudo systemctl reload sshd.service
Uma das maiores vantagens do systemctl
é o gerenciamento de quais
serviços são iniciados automaticamente quando o sistema liga.
Habilitar um serviço:
Isso cria um link simbólico para que o serviço seja iniciado automaticamente na próxima inicialização do sistema.
$ sudo systemctl enable apache2.service
Desabilitar um serviço:
Isso remove o link simbólico, impedindo que o serviço inicie automaticamente.
$ sudo systemctl disable apache2.service
Verificar se um serviço está habilitado:
$ systemctl is-enabled apache2.service
O comando retornará enabled
, disabled
ou static
.
Listar todos os serviços ativos:
$ systemctl list-units --type=service
Você pode usar | grep
para procurar um serviço específico, como systemctl list-units --type=service | grep sshd
.
Listar todos os serviços (ativos e inativos):
$ systemctl list-units --type=service --all
O systemctl
é uma ferramenta poderosa e versátil, e dominar seus
comandos é fundamental para qualquer administrador de sistema Linux.