User Tools

Site Tools


wiki:linux:comandos:comando_systemctl

Exemplos do comando systemctl

Nível Básico

  • Iniciar um serviço:
    1. sudo systemctl start nome_servico
    2. Inicia o serviço `nome_servico` imediatamente.
  • Parar um serviço:
    1. sudo systemctl stop nome_servico
    2. Para o serviço `nome_servico` imediatamente.
  • Reiniciar um serviço:
    1. sudo systemctl restart nome_servico
    2. Reinicia o serviço `nome_servico`, parando-o e iniciando-o novamente.
  • Verificar o status de um serviço:
    1. sudo systemctl status nome_servico
    2. Exibe o status atual do serviço `nome_servico`, incluindo logs recentes.
  • Habilitar um serviço para iniciar automaticamente no boot:
    1. sudo systemctl enable nome_servico
    2. Configura o serviço `nome_servico` para iniciar automaticamente no boot.
  • Desabilitar um serviço de iniciar no boot:
    1. sudo systemctl disable nome_servico
    2. 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:
    1. sudo systemctl reload nome_servico
    2. 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`):
    1. sudo systemctl reload-or-restart nome_servico
    2. 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:
    1. systemctl list-units --type=service --state=active
    2. Exibe uma lista de todos os serviços ativos atualmente no sistema.
  • Verificar se um serviço está habilitado no boot:
    1. systemctl is-enabled nome_servico
    2. Verifica se o serviço `nome_servico` está configurado para iniciar automaticamente no boot.
  • Verificar o estado de todos os serviços:
    1. systemctl list-units --type=service
    2. Exibe o estado de todos os serviços conhecidos no sistema.
  • Exibir o histórico de falhas de um serviço:
    1. sudo systemctl status nome_servico
    2. 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:
    1. sudo systemctl reload nome_servico --all
    2. 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):
    1. sudo systemctl reboot
    2. Reinicia o sistema de maneira controlada.
  • Desligar o sistema (comando `shutdown` via systemctl):
    1. sudo systemctl poweroff
    2. Desliga o sistema completamente.
  • Verificar a falha mais recente de um serviço:
    1. sudo systemctl --failed
    2. Exibe a lista de serviços que falharam recentemente.
  • Verificar dependências de um serviço:
    1. systemctl list-dependencies nome_servico
    2. Mostra todas as dependências do serviço `nome_servico`.
  • Verificar os logs de um serviço com o `journalctl`:
    1. journalctl -u nome_servico
    2. Exibe os logs gerados pelo serviço `nome_servico`.
  • Habilitar um serviço para rodar somente para o próximo boot:
    1. sudo systemctl enable nome_servico --now
    2. Habilita o serviço para iniciar automaticamente apenas no próximo boot.
  • Desabilitar e parar um serviço simultaneamente:
    1. sudo systemctl disable nome_servico --now
    2. Desabilita o serviço de iniciar no boot e o para imediatamente.
  • Analisar o status completo de um serviço, incluindo dependências:
    1. systemctl show nome_servico
    2. 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):
    1. Criar o arquivo de serviço:<br>
sudo nano /etc/systemd/system/meu_servico.service

<br>

  1. 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:
    1. sudo systemctl daemon-reload
    2. 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:
    1. sudo systemctl set-property nome_servico RestartSec=10
    2. 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):
    1. sudo systemctl mask nome_servico
    2. Impede que o serviço `nome_servico` seja iniciado, mesmo que alguém tente iniciar manualmente.
  • Remover uma máscara de um serviço:
    1. sudo systemctl unmask nome_servico
    2. 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):
    1. sudo systemctl edit nome_servico
    2. 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):
    1. sudo systemctl set-property nome_servico CPUShares=500
    2. 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:
    1. sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
    2. Impede que o sistema entre em qualquer modo de suspensão.
  • Habilitar o modo de recuperação do sistema:
    1. sudo systemctl isolate rescue.target
    2. 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