wiki:linux:comandos:comando_systemctl
Table of Contents
Exemplos do comando systemctl
Nível Básico
- Iniciar um serviço:
sudo systemctl start nome_servico
- Inicia o serviço `nome_servico` imediatamente.
- Parar um serviço:
sudo systemctl stop nome_servico
- Para o serviço `nome_servico` imediatamente.
- Reiniciar um serviço:
sudo systemctl restart nome_servico
- Reinicia o serviço `nome_servico`, parando-o e iniciando-o novamente.
- Verificar o status de um serviço:
sudo systemctl status nome_servico
- Exibe o status atual do serviço `nome_servico`, incluindo logs recentes.
- Habilitar um serviço para iniciar automaticamente no boot:
sudo systemctl enable nome_servico
- Configura o serviço `nome_servico` para iniciar automaticamente no boot.
- Desabilitar um serviço de iniciar no boot:
sudo systemctl disable nome_servico
- Impede o serviço `nome_servico` de iniciar automaticamente no boot.
Nível Intermediário
- Recarregar a configuração de um serviço sem interromper sua execução:
sudo systemctl reload nome_servico
- Recarrega as configurações do serviço `nome_servico` sem reiniciar o serviço.
- Recarregar a configuração e reiniciar se necessário (`reload-or-restart`):
sudo systemctl reload-or-restart nome_servico
- Recarrega a configuração do serviço `nome_servico` e, caso a recarga não seja suportada, reinicia o serviço.
- Listar todos os serviços ativos:
systemctl list-units --type=service --state=active
- Exibe uma lista de todos os serviços ativos atualmente no sistema.
- Verificar se um serviço está habilitado no boot:
systemctl is-enabled nome_servico
- Verifica se o serviço `nome_servico` está configurado para iniciar automaticamente no boot.
- Verificar o estado de todos os serviços:
systemctl list-units --type=service
- Exibe o estado de todos os serviços conhecidos no sistema.
- Exibir o histórico de falhas de um serviço:
sudo systemctl status nome_servico
- Mostra o histórico de erros e falhas de execução recentes do serviço `nome_servico`.
- Reiniciar todos os serviços que dependem de um serviço específico:
sudo systemctl reload nome_servico --all
- Recarrega ou reinicia todos os serviços que dependem do serviço `nome_servico`.
Nível Avançado
- Reinicializar o sistema (comando `reboot` via systemctl):
sudo systemctl reboot
- Reinicia o sistema de maneira controlada.
- Desligar o sistema (comando `shutdown` via systemctl):
sudo systemctl poweroff
- Desliga o sistema completamente.
- Verificar a falha mais recente de um serviço:
sudo systemctl --failed
- Exibe a lista de serviços que falharam recentemente.
- Verificar dependências de um serviço:
systemctl list-dependencies nome_servico
- Mostra todas as dependências do serviço `nome_servico`.
- Verificar os logs de um serviço com o `journalctl`:
journalctl -u nome_servico
- Exibe os logs gerados pelo serviço `nome_servico`.
- Habilitar um serviço para rodar somente para o próximo boot:
sudo systemctl enable nome_servico --now
- Habilita o serviço para iniciar automaticamente apenas no próximo boot.
- Desabilitar e parar um serviço simultaneamente:
sudo systemctl disable nome_servico --now
- Desabilita o serviço de iniciar no boot e o para imediatamente.
- Analisar o status completo de um serviço, incluindo dependências:
systemctl show nome_servico
- Exibe o status detalhado do serviço `nome_servico`, incluindo todas as suas dependências e configurações.
Nível Especializado
- Criar e habilitar um novo serviço personalizado (unit file):
- Criar o arquivo de serviço:<br>
sudo nano /etc/systemd/system/meu_servico.service
<br>
- Adicionar a seguinte configuração:
```ini
[Unit]
Description=Meu Serviço Personalizado
After=network.target
[Service]
ExecStart=/caminho/para/o/script.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
```
- **Habilitar e iniciar o serviço:**<br>
<code>sudo systemctl enable meu_servico.service</code><br>
<code>sudo systemctl start meu_servico.service</code>
- Cria, habilita e inicia um serviço personalizado que executa o script `script.sh`.
- Recarregar a configuração do `systemd` após alterar um arquivo de serviço:
sudo systemctl daemon-reload
- Recarrega as configurações do `systemd` após modificar arquivos de unidades (unit files).
- Definir o tempo limite (timeout) para a reinicialização de um serviço:
sudo systemctl set-property nome_servico RestartSec=10
- Define um tempo de 10 segundos como limite para que o serviço `nome_servico` seja reiniciado após uma falha.
- Desativar permanentemente um serviço (máscara):
sudo systemctl mask nome_servico
- Impede que o serviço `nome_servico` seja iniciado, mesmo que alguém tente iniciar manualmente.
- Remover uma máscara de um serviço:
sudo systemctl unmask nome_servico
- Remove a máscara do serviço `nome_servico`, permitindo que ele seja iniciado novamente.
- Executar um serviço em um ambiente específico (override environment):
sudo systemctl edit nome_servico
- Abre um editor para modificar a configuração do serviço e adicionar variáveis de ambiente personalizadas.
- Alterar a prioridade de um serviço (nice value):
sudo systemctl set-property nome_servico CPUShares=500
- Ajusta a prioridade do serviço `nome_servico`, alterando o valor de compartilhamento de CPU (quanto maior, mais recursos são alocados).
- Desativar o modo de suspensão do sistema:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
- Impede que o sistema entre em qualquer modo de suspensão.
- Habilitar o modo de recuperação do sistema:
sudo systemctl isolate rescue.target
- Coloca o sistema no modo de recuperação, onde apenas serviços essenciais são carregados.
wiki/linux/comandos/comando_systemctl.txt · Last modified: by Wiki Administrator
