Aloje su propio agente de IA con OpenClaw: instalación gratuita en un solo clic!

Comando de apagado de Linux: guía completa con ejemplos

Comando de apagado de Linux: guía completa con ejemplos

El comando de apagado de Linux hace exactamente lo que dice, pero tiene suficientes opciones y casos extremos que parecerás tonto frente a tu equipo si lo haces a la ligera. Ya sea que estés cortando la energía en un VPS, programando una ventana de mantenimiento o intentando cancelar el apagado que acabas de activar por accidente, esta guía lo abarca todo.

¿Qué es el comando de apagado de Linux?

El comando de apagado permite apagar, reiniciar o detener tu sistema de forma segura. Se comunica con systemd, que a su vez inicia el estado objetivo apropiado: poweroff.target, reboot.target o halt.target. Cada servicio en ejecución tiene la oportunidad de cerrarse correctamente antes de que la máquina se apague.

Sintaxis básica:

shutdown [OPTION] [TIME] [MESSAGE]

Desglose de la sintaxis y opciones

Aquí se explica lo que hace cada componente:

  • OPCIÓN: Controla la acción. Las banderas comunes son -P (apagado, por defecto), -r (reinicio) y -H (detener sin apagar).
  • HORA: Cuándo ejecutar. Usa hh:mm para el tiempo absoluto, +m para minutos relativos, o ahora como abreviatura para +0.
  • MENSAJE: Una transmisión a todos los usuarios conectados. Debes proporcionar un argumento de HORA para adjuntar un mensaje.

Si ejecutas el apagado sin argumentos, el sistema se configura por defecto a +1, lo que significa que programa un apagado dentro de un minuto. Cinco minutos antes de cualquier apagado programado, el sistema crea /run/nologin para bloquear nuevos inicios de sesión.

Cómo systemd maneja las metas de apagado

En sistemas modernos de Linux, el apagado funciona como un envoltorio ligero alrededor de systemd. Cuando ejecutas shutdown -r now, systemd activa reboot.target, detiene las unidades en orden de dependencia inverso y da inicio a la secuencia de reinicio del kernel. Si estás en un sistema más antiguo basado en init, el comportamiento es diferente, pero esos son cada vez más raros.

Entender esto es importante al solucionar apagados detenidos. Un servicio que ignora SIGTERM y no tiene establecido un TimeoutStopSec puede detener todo el proceso.

Cómo apagar un sistema Linux

El comando linux shutdown now es el camino más rápido hacia una máquina apagada. Aquí están los patrones que realmente usarás.

Apagado inmediato

Se apaga de inmediato, sin periodo de gracia:

shutdown now

O de manera equivalente usando la bandera explícita de apagado:

shutdown -P now

Ambos detienen los servicios y apagan la máquina sin demora. Usa esto solo cuando sepas que nadie más está conectado y que no hay trabajos críticos en ejecución.

Apagado programado por tiempo o minutos

Apagado a tiempo absoluto (formato de 24 horas):

shutdown 22:30

Tiempo relativo, minutos desde ahora:

shutdown +15

El comportamiento del temporizador de apagado de linux activa el archivo /run/nologin cinco minutos antes del tiempo programado, que es lo que evita que nuevas conexiones SSH lleguen a un sistema que está a punto de apagarse.

Transmisión de un mensaje de advertencia de apagado

Agrega un mensaje después del argumento de tiempo para transmitir a todos los usuarios conectados a través de wall:

shutdown +15 "Maintenance window starting. Save your work now."

El mensaje llega a cada sesión de terminal activa. Útil en entornos multiusuario donde no puedes garantizar que todos revisen Slack.

Cómo reiniciar Linux a través de shutdown

El comando de reinicio de linux a través de shutdown te mantiene en una única interfaz consistente en lugar de saltar entre apagado, reinicio y systemctl.

Reiniciar inmediatamente vs. reinicio programado

Reiniciar inmediatamente con shutdown -r now:

shutdown -r now

Programar un reinicio a una hora específica:

shutdown -r 22:30

Reiniciar en 15 minutos con un mensaje de transmisión:

shutdown -r +15 "Rebooting to apply kernel update."

Usar shutdown -r en lugar de simplemente reiniciar te da características de programación y mensajería en un solo comando.

Detener vs. Apagar: ¿Cuál es la diferencia?

Estas dos opciones confunden a las personas porque los términos suenan similares:

  • -H / –halt: Detiene todos los procesos y sincroniza los discos, pero no envía la señal ACPI de apagado. La máquina permanece físicamente encendida.
  • -P / –poweroff: Detiene todo Y envía la señal de apagado. La máquina se apaga. Este es el predeterminado cuando ejecutas shutdown sin una bandera.

Detener es útil en entornos virtualizados o embebidos donde un hipervisor o un proceso externo identifica el estado real de energía. En hardware físico, casi siempre querrás usar -P.

shutdown -H now

Cómo cancelar un apagado programado

Ejecuta la bandera de cancelar para abortar un apagado o reinicio programado:

shutdown -c

También puedes incluir un mensaje opcional para notificar a los usuarios conectados que el apagado ha sido cancelado:

shutdown -c "Maintenance postponed. Server staying up."

Limitaciones: Cuando Cancelar no funciona

Shutdown -c solo funciona en apagados programados. Si ejecutaste shutdown now o shutdown +0, no hay nada que cancelar porque el proceso ya comenzó. En ese caso, debes interrumpir el proceso de terminal o aceptarlo.

Además, el comando de cancelar requiere privilegios apropiados. Ejecutarlo como un usuario no root sin sudo fallará de forma silenciosa o lanzará un error de permisos dependiendo de tu distribución.

Beneficios de seguridad de los apagados controlados

Un comando de apagado de linux utilizado correctamente no es solo una conveniencia, es parte de cómo mantienes un servidor seguro y estable.

Aplicando actualizaciones de seguridad de manera segura con reinicio

Muchas actualizaciones de kernel y glibc no tienen efecto hasta que el sistema se reinicia. Saltar el reinicio deja tu sistema corriendo un kernel vulnerable a pesar de que el paquete está instalado. Programar reinicios a través de shutdown -r durante horas de bajo tráfico significa que aplicas parches sin sorprender a los usuarios y sin el caos de una interrupción no planificada.

Verifica qué actualizaciones requieren un reinicio con:

needs-restarting -r   # RHEL/CentOS

cat /var/run/reboot-required   # Debian/Ubuntu

Prevención de pérdida de datos durante el apagado

La razón por la que usas el apagado en lugar de simplemente cortar la energía es el orden de terminación de procesos. Un apagado ordenado envía SIGTERM a los servicios, espera a que se cierren correctamente, vacía los búferes del sistema de archivos y desmonta volúmenes en la secuencia correcta. Cortar la energía se salta todo eso.

La corrupción de la base de datos por un apagado sucio es un asunto real. Una instancia de PostgreSQL o MySQL que no recibe un SIGTERM limpio puede requerir la reproducción de sus registros WAL o de reejecución al reiniciar, y si estos están dañados, estarás en modo de recuperación. Usa el comando de apagado. Cada vez.

Preguntas frecuentes: Comando de apagado de Linux

¿Cómo apago Linux inmediatamente desde la terminal?

Ejecuta: shutdown now o shutdown -P now. Ambos apagan la máquina inmediatamente sin período de gracia.

¿Qué hace shutdown -h ahora en Linux?

La bandera -h es un alias para –poweroff en la mayoría de los sistemas modernos, así que shutdown -h ahora apaga la máquina inmediatamente. En algunos sistemas más antiguos, -h mapeaba a –halt. Usa -P ahora si deseas ser explícito sobre el comportamiento de apagado.

¿Cómo cancelo un apagado en Linux?

Usa shutdown -c para cancelar cualquier apagado o reinicio programado pendiente. Esto no funcionará si el apagado ya comenzó (es decir, fue activado con now o +0).

¿Cuál es la diferencia entre halt y poweroff?

Halt detiene todos los procesos y sincroniza los discos, pero no envía la señal de apagado ACPI, por lo que el hardware permanece encendido. Poweroff hace todo lo que hace halt y luego apaga la máquina. En hardware físico, casi siempre querrás usar poweroff.

¿Cómo programo un apagado en Linux?

Usa shutdown con un argumento de tiempo: shutdown 22:30 para un tiempo absoluto en formato de 24 horas, o shutdown +15 para programarlo 15 minutos desde ahora. Combina con un mensaje para advertir a los usuarios: shutdown +15 «El servidor se apagará en 15 minutos.»

Scroll al inicio