Solución:
No hay diferencia en ellos. Internamente hacen exactamente lo mismo:
-
reboot
usa elshutdown
comando (con el modificador -r). El comando de apagado se usa para matar todos los procesos en ejecución, desmontar todos los sistemas de archivos y finalmente le dice al kernel que emita el comando de energía ACPI. La fuente se puede encontrar aquí. En distribuciones más antiguas, el comando de reinicio obligaba a los procesos a salir emitiendo elSIGKILL
señal (todavía se encuentra en las fuentes, se puede invocar con-f
opción), en las distribuciones más recientes, el valor predeterminado es el más elegante y amigable con el inicio.init 1 -> shutdown -r
. Esto asegura que los demonios se limpien solos antes de apagarse. -
init 6
le dice alinit
proceso para apagar todos los procesos / demonios generados como están escritos en los archivos de inicio (en el orden inverso en el que comenzaron) y, por último, invocar elshutdown -r now
comando para reiniciar la máquina
Hoy en día no hay mucha diferencia ya que ambos comandos hacen exactamente lo mismo y respetan los scripts de inicio utilizados para iniciar los servicios / demonios invocando los scripts de cierre para ellos. Excepto por reboot -f -r now
como se indica a continuación
Hay una pequeña explicación tomada de las páginas de manual de por qué reboot -f
no es seguro:
-f, --force Force immediate halt, power-off, reboot. Don't contact the init system.
Editar:
Olvidé mencionar que en las próximas distribuciones de RHEL, debe usar el nuevo systemctl
comando para emitir poweroff / reboot. Como se indica en las páginas de manual de reboot
y shutdown
son “un comando heredado disponible solo para compatibilidad”. y el systemctl
El método será el único seguro.
Es preferible apagar porque le permite especificar el razón para la acción drástica, algo que siempre debes hacer. El mensaje se registrará en el registro (s) para la posteridad. Por ejemplo:
shutdown -r now 'Kernel upgrade requires reboot'
También puede realizar una programado reiniciar – especificando algo diferente a now
como el tiempo de reinicio:
shutdown -r 22:00 'Work around kernel memory leak'
Luego, sus usuarios recibirán recordatorios periódicos para salir a medida que se acerque el momento; el proceso será más ordenado y profesional.
En unices tradicionales, reboot
y shutdown -r now
son comandos muy diferentes. Bajo uso típico, reboot
solo es seguro de usar en modo de usuario único.
shutdown -r now
es el método canónico para apagar en diferentes * nix y es más seguro de usar en general y es funcionalmente equivalente a init 6
.
init (8) reiniciar (8)