Qual é o comando de encerramento do macOS?

O comando shutdown é um utilitário integrado do macOS que desliga, reinicia ou coloca o computador em modo de suspensão a partir do Terminal. Ele aceita sinalizadores que controlam a ação, um argumento de tempo que agenda quando deve ser executado e uma mensagem de transmissão opcional exibida aos usuários conectados antes da operação começar.

Como shutdown modifica o estado do sistema, normalmente requer privilégios de administrador e é invocado com sudo. É comumente usado por administradores para planejar janelas de manutenção, por usuários avançados para automatizar rotinas de fim de dia e por scripts que precisam de uma forma confiável de interromper ou reiniciar um Mac sem software adicional.

Descrição da ferramenta

Esta ferramenta constrói um comando shutdown válido do macOS a partir de um formulário simples. Escolha uma ação, defina quando deve ser executada, opcionalmente adicione uma mensagem de transmissão e sinalizadores avançados, e copie o comando gerado para um terminal ou script de shell.

Exemplos

Interrupção imediata (desligar):

sudo shutdown -h now

Reiniciar em 5 minutos com uma mensagem para usuários:

sudo shutdown -r +5 "Rebooting for maintenance"

Suspender em uma data e hora específicas (30 de abril de 2026 às 23:00):

sudo shutdown -s 2604302300

Avisar usuários sem interromper (apenas transmissão):

sudo shutdown -k +10 "Please save your work"

Cancelar um encerramento previamente agendado:

sudo killall shutdown

Recursos

  • Gerar comandos para ações de interrupção, reinicialização, suspensão, aviso apenas e cancelamento
  • Agendar a ação imediatamente, após N minutos ou em uma data e hora absoluta
  • Adicionar uma mensagem de transmissão mostrada aos usuários conectados
  • Alternar sudo, -n (sem fsck/sync) e -o (não enviar SIGTERM para processos)
  • Visualização ao vivo do comando gerado, pronto para copiar em um terminal ou script

Casos de uso

  • Agendar uma reinicialização noturna após instalar atualizações do sistema em uma estação de trabalho
  • Disparar um encerramento limpo a partir de um job launchd ou script de manutenção em um horário fixo
  • Avisar usuários conectados que um Mac compartilhado será desligado antes de encerrá-lo

Opções explicadas

  • Ação — Seleciona a operação: interrupção (-h), reinicialização (-r), suspensão (-s), aviso apenas (-k) ou cancelar um encerramento pendente (killall shutdown).
  • Modo de tempoNow usa o literal now, In minutes usa +N, At date and time produz a forma absoluta yymmddhhmm esperada por shutdown(8).
  • Mensagem — Anexa uma mensagem de transmissão entre aspas; aspas incorporadas são escapadas e quebras de linha são removidas.
  • Usar sudo — Prefixo do comando com sudo para que seja executado com os privilégios de administrador necessários.
  • Sem fsck / sem sync (-n) — Ignora a sincronização do sistema de arquivos antes de interromper. Mais rápido, mas geralmente não recomendado em sistemas saudáveis.
  • Sem SIGTERM (-o) — Informa ao shutdown para não enviar SIGTERM aos processos antes de desligar o sistema. Use com cuidado.

Como funciona

Nos bastidores, shutdown(8) agenda uma transição do sistema. O argumento de tempo pode ser:

  • now — executar imediatamente
  • +N — executar N minutos a partir de agora
  • yymmddhhmm — executar na data/hora absoluta codificada como ano, mês, dia, hora e minuto de 2 dígitos

macOS não fornece um sinalizador de cancelamento -c nativo como Linux. Para cancelar um encerramento pendente, você encerra o próprio processo shutdown agendado com sudo killall shutdown, que esta ferramenta gera para você quando a ação Cancel é selecionada.

Dicas

  • Sempre teste o comando em uma máquina não crítica primeiro; interromper ou reiniciar fechará todos os aplicativos em execução.
  • Use a ação Warn para notificar usuários sem realmente desligar — útil para execuções de teste.
  • Ao agendar em um horário absoluto, verifique novamente se a data está no futuro; horários passados são rejeitados por shutdown.
  • Execute a partir de um Terminal interativo para que sudo possa solicitar sua senha, ou configure sudo sem senha para shutdown se invocar a partir de scripts automatizados.