¿Cuál es el comando de apagado de macOS?

El comando shutdown es una utilidad integrada de macOS que apaga, reinicia o pone la computadora en modo de suspensión desde la Terminal. Acepta banderas que controlan la acción, un argumento de tiempo que programa cuándo debe ejecutarse, y un mensaje de transmisión opcional que se muestra a los usuarios conectados antes de que comience la operación.

Debido a que shutdown modifica el estado del sistema, normalmente requiere privilegios de administrador y se invoca con sudo. Es comúnmente utilizado por administradores para planificar ventanas de mantenimiento, por usuarios avanzados para automatizar rutinas de fin de día, y por scripts que necesitan una forma confiable de detener o reiniciar una Mac sin software adicional.

Descripción de la herramienta

Esta herramienta genera un comando shutdown válido de macOS a partir de un formulario simple. Elige una acción, selecciona cuándo debe ejecutarse, opcionalmente añade un mensaje de transmisión y banderas avanzadas, y copia el comando generado en una terminal o script de shell.

Ejemplos

Detención inmediata (apagado):

sudo shutdown -h now

Reinicio en 5 minutos con un mensaje a los usuarios:

sudo shutdown -r +5 "Reiniciando para mantenimiento"

Suspensión en una fecha y hora específicas (30 de abril de 2026 a las 23:00):

sudo shutdown -s 2604302300

Advertir a los usuarios sin detener (solo transmisión):

sudo shutdown -k +10 "Por favor, guarda tu trabajo"

Cancelar un apagado previamente programado:

sudo killall shutdown

Características

  • Genera comandos para acciones de detención, reinicio, suspensión, solo advertencia y cancelación
  • Programa la acción inmediatamente, después de N minutos, o en una fecha y hora absoluta
  • Añade un mensaje de transmisión mostrado a los usuarios conectados
  • Alterna sudo, -n (sin fsck/sync) y -o (no enviar SIGTERM a procesos)
  • Vista previa en vivo del comando generado, listo para copiar en una terminal o script

Casos de uso

  • Programa un reinicio nocturno después de instalar actualizaciones del sistema en una estación de trabajo
  • Desencadena un apagado limpio desde un trabajo launchd o script de mantenimiento a una hora fija
  • Advierte a los usuarios conectados que una Mac compartida será apagada antes de detenerla

Opciones explicadas

  • Acción — Selecciona la operación: detención (-h), reinicio (-r), suspensión (-s), solo advertencia (-k), o cancelar un apagado pendiente (killall shutdown).
  • Modo de tiempoAhora usa el literal now, En minutos usa +N, En fecha y hora produce la forma absoluta yymmddhhmm esperada por shutdown(8).
  • Mensaje — Añade un mensaje de transmisión entrecomillado; las comillas incrustadas se escapan y las saltos de línea se eliminan.
  • Usar sudo — Prefija el comando con sudo para que se ejecute con los privilegios de administrador requeridos.
  • Sin fsck / sin sync (-n) — Omite la sincronización del sistema de archivos antes de detener. Más rápido, pero generalmente no recomendado en sistemas saludables.
  • Sin SIGTERM (-o) — Indica a shutdown que no envíe SIGTERM a procesos antes de apagar el sistema. Usar con cuidado.

Cómo funciona

Bajo el capó, shutdown(8) programa una transición del sistema. El argumento de tiempo puede ser:

  • now — ejecutar inmediatamente
  • +N — ejecutar N minutos a partir de ahora
  • yymmddhhmm — ejecutar en la fecha/hora absoluta codificada como año, mes, día, hora y minuto de 2 dígitos

macOS no proporciona una bandera de cancelación nativa -c como Linux. Para cancelar un apagado pendiente, terminas el proceso shutdown programado con sudo killall shutdown, que esta herramienta genera automáticamente cuando se selecciona la acción Cancelar.

Consejos

  • Siempre prueba el comando en una máquina no crítica primero; apagar o reiniciar cerrará todas las aplicaciones en ejecución.
  • Usa la acción Advertir para notificar a los usuarios sin apagar realmente — útil para pruebas sin riesgo.
  • Cuando programes en una hora absoluta, verifica que la fecha sea futura; shutdown rechaza tiempos pasados.
  • Ejecuta desde una Terminal interactiva para que sudo pueda solicitar tu contraseña, o configura sudo sin contraseña para shutdown si invocas desde scripts automatizados.