El comando shutdown en nuestros sistemas GNU/Linux nos permitirá detener, apagar o reiniciar el sistema de una manera segura e incluso hacerlo a una hora determinada, veamos cómo

El comando shutdown es parte de systemd y le pasa a este el encargo de detener, apagar o reiniciar nuestro sistema con las diversas opciones que admite.
Imaginemos que actualizamos nuestro sistema, y después de acabar queremos que se reinicie a una hora determinada. Vamos a ver cómo usar el comando shutdown y sus opciones.
Para gestionar el comando shutdown son necesarios derechos de usuario root, por tanto todos los comandos se deberán usar ya sea en una sesión de este usuario o mediante el comando sudo.
Lo primero que podemos hacer es leer su documentación, ya sea la página man o mediante:
sudo shutdown --help
Apagar el sistema de inmediato
Si lo ejecutamos sin pasarle ningún argumento, simplemente:
sudo shutdown
Esto hará que el sistema se apague de manera predeterminada en 1 minuto y mostrará una notificación de la hora a la que se realizará el apagado del sistema, por ejemplo:
poweroff scheduled for Thu 2022-05-26 19:59:45 CEST, use 'shutdown -c' to cancel.
Programar el apagado del sistema a una hora determinada
Una cosa interesante del comando, es poder programar el apagado o reinicio del sistema a una hora predeterminada. Para ello ejecutaremos el comando, con la orden que queremos ejecutar y la hora expresada en formato 24h y en formato de hh:mm.
Por ejemplo si queremos reiniciar nuestro sistema a las 22h de hoy mismo, podemos realizarlo mediante:
sudo shutdown --reboot 22:00
Quizás en vez de especificar una hora en concreto, queremos hacerlo expresando los minutos antes de realizar lo que queremos, por ejemplo dentro de 10 minutos, o dentro de 200 minutos, etc.
Por ejemplo si queremos detener nuestro sistema de manera segura, dentro de media hora, lo podremos realizar así:
sudo shutdown --halt +30
Si especificamos un tiempo como en los casos anteriores, podremos añadir un mensaje que se mostrará a todos los usuarios de nuestros sistemas.
sudo shutdown --reboot +30 "se hará un reinicio del sistema"
Aunque con la opción –no-wall podremos también evitar enviar mensajes de las acciones que realizará shutdown.
Cuando programamos un apagado o reinicio del sistema para un tiempo determinado, un tiempo antes de realizar la acción, el sistema impide que nuevos usuario se puedan registrar en el sistema.
Mostrar si existen apagados programados o cancelarlos
Quizás hemos programado un apagado, para dentro de varias horas, pero después de un tiempo no sabemos si realmente lo ejecutamos, o si alguien más lo ha programado ya.
Para consultar si existe algún apagado o reinicio programado con el comando shutdown, podremos consultarlo mediante:
sudo shutdown --show
Que por ejemplo nos dará una salida como esta:
halt scheduled for Thu 2022-05-26 20:59:22 CEST, use 'shutdown -c' to cancel.
Una vez que hemos ejecutado el comando shutdown, ya sea con argumentos o sin ellos, en cualquier momento podemos cancelar la acción ya sea porque queremos modificar el comando, o porque ya no es necesario y eliminar que el comando se reinicie o apague.
Para ello deberemos ejecutar lo siguiente:
sudo shutdown -c
Shutdown de mentiras
El comando shutdown, tiene la opción -k que al añadirla a nuestro comando para programar el apagado, hace que este no sea real, simplemente que envíe el anuncio a todos los usuarios registrados, pero que realmente después no realiza nada más:
sudo shutdown -k +1
Con esto se enviará una notificación de que en 1 minuto se apagará el sistema… aunque después realmente no lo hará.
Puede servir como broma, o como advertencia a los usuarios registrados en el sistema, para apremiarles a que cierren sus sesiones, guarden sus datos, etc…
Quizás a partir de ahora, utilices más este comando para programar el apagado o el reinicio de tu sistema GNU/Linux. ¿Te resultó interesante? ¿Ya lo utilizabas?

Sólo conocía shutdown y shutdown now.
Muy interesante el artículo con el reboot y halt programado. Aunque no tengo nada claro qué pasa cuando haces halt pongamos que desde el escritorio. ¿Se para todos los procesos de forma abrupta y se convierte en un Sistema Operativo congelado que solo puedes reiniciar o hacer REISUB?
Interesante también lo del aviso y que no pasa nada. ¿Sabes si lo hace de forma modal? Es decir, ¿el mensaje aparece por encima de cualquier cosa (incluido un juego de Steam)?
Saludos
No existe el comando –show y los demás no lo sé.
~/Descargas sudo shutdown –show ✔ 1m 44s 01:48:08
[sudo] password for root:
shutdown: unrecognized option ‘–show’
~/Descargas sudo shutdown show ✘ 1 3s 01:50:24
Failed to parse time specification: show
~/Descargas ✘ 1 01:50:34
He probado el -k y no ha pasado nada (mañana volveré a probarlo a una hora distinta) :
~/Descargas sudo shutdown -k 01:30 \»Hora de ACOSTARSE\» ✔ 57s 01:18:54
[sudo] password for root:
Shutdown scheduled for Sat 2022-05-28 01:30:00 CEST, use ‘shutdown -c’ to cancel.
Saludos
He escrito los dos «-» aunque en la respuesta parece que haya uno.
He puesto la línea con -k para 2 minutos más tarde de cuando lo tecleaba y me he puesto en Firefox. Pero no sale nada, ¿seguro que hacen algo esos comandos?
El –show no aparece en ninguno de los 4 man para shutdown y el -k, ¿será que no hace nada porque no hay más ordenadores en red? ¿Lo has probado en un sólo ordenador y en varios?
Juro que existe y que me funciona!! 🙂
aquí la prueba!
https://susepaste.org/48187380
a mí si que me aparece – – show
Indica si hay algún shutdown programado y en el caso de haber ninguno también lo indica… ¿?
Siempre puedes consulta la página man o la –help
Saludos!
Interesante. Al igual que krovikan74, me surge la pregunta sobre el halt.
Saludos
Muy interesante y necesario el conocer estos comandos, sobre todo si manejas servidores.
Por lo que he podido comprobar en mi servidor con Ubuntu, y también en mi equipo con Mint, la opción –show no está disponible.
Hola!
Me alegro leerte por aquí. Vaya, será que la versión del comando es anterior y no incorporaba esa función?
La verdad la veo muy necesaria! 🙂
Saludos y gracias por la visita y por comentar!! 🙂
Hola:
Pensé que estaban asociados a SYSvn mas que a systemd, pero por lo visto son mas relacionados a init 0 e init6, pero ese lo recomiendan mas que los otros ( poweroff, halt, reboot) , muy cómodos y tiene muchas opciones, los uso desde consola , pero mas practico , las teclas sysreq (reisub) .
No utilizaba tanto ese y desconocía que tuviese tantas opciones; gracias por la información .
Saludos cordiales .
Saludos compa!