Cómo reiniciar o apagar Linux usando la línea de comandos

¿Tienes ganas de empezar de nuevo? Este tutorial le mostrará cómo reiniciar o apagar de forma limpia y segura su computadora Linux o macOS desde la línea de comandos.

Vamos hacia abajo

A veces, solo tienes que reiniciar o apagar por completo. Si está trabajando en un servidor sin GUI o está en una sesión SSH en una computadora remota, la línea de comando es su única opción. Los sistemas Linux y similares a Unix, como macOS, proporcionan varios comandos para apagar o reiniciar su sistema directamente desde la línea de comandos.

Los comandos que puede utilizar son:

apagar
reiniciar
detener
apagado

Buscar estos comandos en las páginas de manual puede resultar confuso. Dependiendo de las opciones de línea de comando que elija, todos estos comandos pueden realizar cierres, se reinicia y el sistema se detiene. De hecho, las páginas de manual para reiniciar, detener y apagar contienen exactamente la misma información.

página man para el comando de detención

¿Qué hay detrás de esto?

La respuesta está en el systemd oreja sistema que reemplazó al venerable sistema de inicio System V. En el mundo Linux, Fedora comenzó a usar systemd en 2011. Desde entonces ha sido adoptado por una gran cantidad de distribuciones. Debian y Ubuntu cambiaron a systemd en 2015.

En las distribuciones basadas en systemd, los comandos shutdown, reboot, halt y poweroff son atajos que apuntan al comando systemctl. La retención de estos comandos proporciona un grado de compatibilidad con las distribuciones basadas en init de System V. Significa que los scripts de shell (y los administradores del sistema System V de núcleo duro) no se derrumban si se mueven a una computadora con una distribución systemd ejecutándose.

  Cómo integrar Git con el administrador de archivos Gnome en Linux

Usando Shutdown

Apagar o reiniciar un sistema multiusuario significa que debe planificar con anticipación. Debe decidir cuándo se apagará o reiniciará, y advertir a los otros usuarios del sistema que se acerca el apagado y cuándo. Si es tu propia computadora y eres el único que la usa, la vida es mucho más sencilla.

Para ejecutar cualquiera de estos comandos, debe estar en el grupo sudo. Es decir, debe tener permisos de superusuario y poder utilizar el comando sudo. Si el comando que ha emitido entrará en vigor de inmediato y no afectará a otros usuarios registrados, no necesitará usar sudo. Si intenta utilizar uno de estos comandos y el comando es rechazado, vuelva a intentarlo con sudo.

De forma predeterminada, el comando de apagado garantiza que todos los procesos se detengan limpiamente, que todos los sistemas de archivos estén sincronizados y que toda la actividad de la CPU haya cesado. Este es el estado de «alto». Luego envía un mensaje al hardware para cortar la energía. Este, por supuesto, es el estado de apagado o «apagado».

Es común pasar algunos parámetros de apagado, como una cadena de tiempo y un mensaje que se enviará a los usuarios registrados para advertirles del apagado. Programemos un cierre para 15 minutos a partir de ahora. Escriba apagado, un espacio, +15, un espacio y luego el mensaje para enviar a los usuarios.

shutdown +15 Shutting down in 15 minutes!

comando de apagado +15 mensaje

La cadena de tiempo que usamos fue +15, lo que representa 15 minutos a partir de ahora. El + es opcional. Podríamos haber escrito 15.

  Cómo deshabilitar la cuenta raíz en Linux

Recibimos una respuesta que confirma que está programado un apagado y cuándo ocurrirá. Los usuarios que hayan iniciado sesión recibirán el mensaje que les proporcionamos.

notificación de apagado

Para cancelar un apagado, use la opción -c (cancelar).

shutdown -c

Shutdown -c cancelar comando

Aunque no recibe ninguna notificación de que se canceló su cierre, los usuarios que iniciaron sesión sí reciben una notificación.

Aviso de cancelación

Si no proporciona una cadena de tiempo, se programará un apagado para un minuto a partir de ahora. Tenga en cuenta que no puede proporcionar un mensaje a los usuarios que han iniciado sesión si no especifica una cadena de tiempo.

shutdown

comando de apagado sin parámetros

Si ni siquiera puede esperar un minuto, puede usar ahora como cadena de tiempo y el apagado tendrá efecto inmediato. Usar ahora es como usar +0.

apaga ahora

La cadena de tiempo puede ser una hora establecida, como las 23:00. Debe seguir el formato HH: MM y debe estar en formato de 24 horas. Cinco minutos antes de que el sistema deje de funcionar, se evitan nuevos inicios de sesión.

apagado 23:00 con mensaje

Sabemos que la acción predeterminada de apagado hace que la computadora pase al estado detenido y luego al estado apagado. Podemos anular este comportamiento pasándole otras opciones de línea de comando.

La opción -H (detener) hará que su computadora se detenga, pero no le pedirá al hardware que se apague.
-P (apagado) es la acción predeterminada. La computadora pasa al estado de parada y luego se apaga.
La opción -r (reiniciar) llevará su computadora al estado de parada y luego la reiniciará.
La opción -h (detener y apagar) es la misma que -P. Si usa -h y -H juntos, la opción -H tiene prioridad.
La opción -c (cancelar) cancelará cualquier apagado, parada o reinicio programado.

  Cómo utilizar DNSCrypt para cifrar el tráfico DNS en Linux

Aquí hay un ejemplo en el que hemos programado un reinicio.

shutdown -r 08:20 System rebooting at 08:20

apagar programar un reinicio

Los comandos reiniciar, detener y apagar

Estos comandos realizan la acción que sugiere su nombre. Sin embargo, cada uno de ellos aceptará las opciones de la línea de comandos para que cualquiera de ellos realice un reinicio, una parada o un apagado. Pero, ¿por qué confundir las cosas? Estos comandos se utilizan mejor al pie de la letra.

Si desea reiniciar ahora, use reboot. Si desea apagar ahora, use poweroff, y si desea detener el sistema ahora, use halt.

reboot

comando de reinicio en una ventana de terminal

halt

comando de detención en una ventana de terminal

poweroff

comando poweroff en una ventana de terminal

Estos comandos tienen efecto inmediato. Si alguno de estos comandos es rechazado, precedalos con sudo. Pero tenga en cuenta que un rechazo generalmente se debe a que hay otros usuarios conectados al sistema que está a punto de desconectar.

¿Qué comando es el adecuado para mí?

En entornos multiusuario, usar el apagado para realizar estas acciones le brinda más control. La facilidad para programar apagones y reinicios, y para alertar a los usuarios con un mensaje de difusión será invaluable en estos casos. Para una computadora de un solo usuario, el reinicio y el apagado probablemente satisfagan sus necesidades.