Linux / Comando shutdown: agendar, consultar e cancelar a parada
O comando shutdown solicita o desligamento ou a reinicialização do Linux, imediatamente ou com um horário agendado. Na implementação do systemd, você pode escolher um atraso para avisar os usuários e cancelar uma operação ainda pendente antes que o encerramento comece.
O agendamento não é apenas um lembrete: se a solicitação for aceita e não for cancelada, a máquina entrará no procedimento de parada. No systemd, a ação padrão é desligar a máquina; ao omitir o horário, o comando assume um minuto de atraso. Por isso, indique a ação e o tempo conscientemente, sem executar uma linha incompleta como teste.
Sintaxe e implementação instalada
sudo shutdown [opção] [horário] [mensagem]
Os colchetes representam argumentos opcionais, e não caracteres a digitar. A mensagem pode avisar o motivo da manutenção; para fornecer essa mensagem, indique também o argumento de horário. sudo utiliza os privilégios previstos pela política local do host.
Os exemplos desta página se referem ao shutdown do systemd. Confira a implementação e as opções locais em man shutdown. O manual oficial de shutdown documenta os valores padrão, os tempos e a disponibilidade das opções. Implementações de outros sistemas de inicialização podem ter diferenças.
No Bash 5.3.9 do Git para Windows usado nesta revisão, a busca pelo nome shutdown encontrou o executável do Windows. Ele não foi executado e não equivale ao utilitário Linux. hostnamectl status e systemctl --failed retornaram código 127, “command not found”. Não houve desligamento, reinicialização, agendamento ou cancelamento real; as linhas de exemplo passaram apenas pela verificação de sintaxe do Bash, sem execução.
Preparar a operação no servidor correto
Confirme o host e o ambiente de manutenção, as pessoas afetadas e as aplicações que precisarão parar. O guia de hostnamectl ajuda a consultar a identidade do sistema; compare-a com o inventário e com o destino da conexão. Uma sessão SSH aberta não substitui um console de recuperação já disponível.
Combine o horário e a duração esperada da indisponibilidade, salve trabalhos abertos e confira atualizações ou gravações críticas em andamento. Uma mensagem enviada pelo terminal não alcança necessariamente todos os responsáveis. Use também o canal habitual de manutenção e o procedimento de parada das aplicações.
Antes de criar ou cancelar um agendamento, verifique se já existe uma operação coordenada por outra pessoa ou automação. Em versões com suporte, shutdown --show consulta a ação e o horário pendentes; a opção foi adicionada no systemd 250. Se ela não estiver disponível, não a substitua por uma chamada sem argumentos, pois essa chamada agenda uma parada. Consulte o procedimento e os registros do ambiente.
Agendar um desligamento para daqui a dez minutos
sudo shutdown +10 'Desligamento para manutenção em 10 minutos'
Na implementação do systemd, +10 significa dez minutos a partir da solicitação e a ausência de -r mantém a ação padrão de desligamento. As aspas fazem a mensagem inteira chegar como um argumento.
Confirme que desligar, em vez de reiniciar, é a intenção. Se o servidor for desligado, você precisará do meio apropriado para ligá-lo novamente; não espere que ele volte sozinho como em uma reinicialização. Para tornar a ação explícita em uma manutenção, a opção -P seleciona o desligamento de energia.
Agendar uma reinicialização para daqui a dez minutos
sudo shutdown -r +10 'Reinicialização do servidor em 10 minutos'
A opção -r seleciona a reinicialização. Este é um exemplo alternativo ao desligamento anterior: escolha a operação necessária, sem executar os dois exemplos em sequência. Anote o horário informado pelo sistema e confirme o agendamento pelo mecanismo de consulta disponível no host.
Quando o procedimento de parada começar, a conexão remota e os serviços podem ser interrompidos. Depois do retorno, verifique o host e as aplicações; o guia de reboot detalha essa verificação. Um agendamento aceito não comprova que o reinício terminou ou que os serviços recuperaram sua função.
Cancelar uma operação ainda pendente
sudo shutdown -c
Use o cancelamento somente depois de confirmar que a operação pendente é aquela que você está autorizado a cancelar. Faça isso antes de o encerramento começar e confira a resposta do comando. Não dependa de uma tentativa no último segundo, nem trate -c como uma forma de desfazer uma máquina já desligando.
Após o cancelamento, consulte novamente o estado pendente, quando houver suporte a --show, e avise os responsáveis da mudança. Um agendamento pode ser recriado por uma automação; confira o registro de manutenção e o estado atual, sem encerrar ou desativar automações de terceiros por iniciativa própria.
Conferir o fluxo de agendamento e cancelamento
O bloco abaixo conserva as duas ações do exemplo original. Ele mostra os comandos envolvidos, mas não deve ser colado inteiro: executar as duas linhas seguidas solicita um reinício e tenta cancelá-lo logo depois. Isso não demonstra que você inspecionou o agendamento.
sudo shutdown -r +10
sudo shutdown -c
Em uma máquina de laboratório que possa sofrer uma parada, autorizada para esse exercício, faça a verificação de forma interativa:
- Confirme o host, o acesso de recuperação e a ausência de outro agendamento ou manutenção concorrente. Se não puder confirmar essas condições, não faça o exercício.
- Execute apenas a primeira linha e leia a resposta. Consulte
shutdown --showse a versão local oferecer essa opção e compare a ação e o horário com a solicitação. - Se o objetivo for testar o cancelamento, execute a segunda linha com antecedência suficiente, antes do início do encerramento. Leia os erros em vez de presumir que a tentativa funcionou.
- Confira que a operação não permanece pendente pelo mecanismo disponível, registre a mudança e observe se alguma automação a recriou. Não deixe um agendamento ativo ao encerrar o exercício.
O texto de resposta e os avisos aos usuários variam conforme a implementação e a sessão. Não espere uma frase fixa nem conclua que a operação falhou apenas porque não apareceu uma mensagem em outro terminal. Se houver erro de permissão ou de comunicação, investigue-o antes de repetir uma mudança de estado.
Opções principais
| Opção ou tempo | Efeito no systemd |
|---|---|
now |
Equivale a +0 e solicita o início imediato do encerramento; não reserve uma margem de cancelamento para esse caso. |
+N |
Define um atraso de N minutos. Use um número concreto, como +10. |
-r |
Seleciona a reinicialização, em lugar do desligamento padrão. |
-P |
Seleciona explicitamente o desligamento de energia. |
-c |
Cancela uma operação com atraso ainda pendente, antes de começar a parada. |
--show |
Consulta a ação e o horário pendentes, se existirem. Disponível a partir do systemd 250. |
Não confunda -h minúsculo com -H maiúsculo. No systemd, -H seleciona halt, que para o sistema sem necessariamente desligar a energia. -h normalmente seleciona poweroff, mas não substitui uma ação halt já escolhida. Para comunicar a intenção de desligar de forma direta, prefira -P; para reiniciar, use -r.
Horário previsto, acesso e limites do cancelamento
O horário agendado indica quando o encerramento pode começar, e não quando todas as aplicações já estarão paradas ou a máquina reiniciada. O manual atual do systemd também aceita hh:mm em formato de 24 horas; confira o relógio e o fuso do host. Na versão documentada, informar um horário do dia que já passou pode desencadear uma parada imediata. Para os exemplos desta página, o atraso explícito +10 evita essa ambiguidade de horário.
A aproximação da parada pode impedir novas sessões: o systemd cria /run/nologin cinco minutos antes do horário de uma parada agendada. Planeje o acesso e a comunicação antes disso, em vez de contar com uma nova conexão no fim do prazo. Não remova arquivos de controle para contornar essa condição.
O cancelamento é destinado a solicitações com atraso que ainda estão pendentes. Para now ou +0, não existe a mesma margem de espera. Se a parada já estiver em andamento, acompanhe a recuperação pelo acesso preparado e verifique o estado real dos serviços, em vez de contar com uma reversão confiável.
Pergunta frequente
Posso cancelar um shutdown agendado?
Sim, uma operação com atraso ainda pendente pode ser cancelada com sudo shutdown -c no host correto e com a autorização adequada. Faça isso antes do início do encerramento, confira a resposta e o estado pendente e avise os responsáveis. Um cancelamento não garante que outra automação não vá agendar uma nova parada.




