¿Cuál es la diferencia entre los comandos halt
y shutdown
?
fuente
¿Cuál es la diferencia entre los comandos halt
y shutdown
?
Generalmente, uno usa el shutdown
comando . Permite una demora de tiempo y un mensaje de advertencia antes de apagar o reiniciar, lo cual es importante para la administración del sistema de servidores shell multiusuario; Puede proporcionar a los usuarios un aviso anticipado del tiempo de inactividad.
Como tal, el comando de apagado debe usarse de esta manera para detener / apagar la computadora de inmediato (al menos en Linux y FreeBSD):
shutdown -h now
O para reiniciarlo con una advertencia personalizada de 30 minutos de antelación:
shutdown -r +30 "Planned software upgrades"
Después del retraso, shutdown
le dice init
que cambie a nivel de ejecución 0 (detención) o 6 (reinicio). (Tenga en cuenta que omitir -h
o -r
provocará que el sistema entre en modo de usuario único (nivel de ejecución 1), que mata la mayoría de los procesos del sistema pero en realidad no detiene el sistema; aún permite que el administrador permanezca conectado como root.
Una vez que se han eliminado los procesos del sistema y se han desmontado los sistemas de archivos, el sistema se detiene / apaga o se reinicia automáticamente. Esto se realiza mediante el comando halt
oreboot
, que sincroniza los cambios en los discos y luego realiza la detención / apagado real o el reinicio.
En Linux, si se ejecuta halt
o reboot
cuando el sistema aún no ha iniciado el proceso de apagado, invocará el shutdown
comando automáticamente en lugar de realizar directamente la acción deseada. Sin embargo, en sistemas como FreeBSD , estos comandos primero inician sesión en la acción wtmp
y luego realizan la detención / reinicio inmediatamente , sin eliminar primero los procesos o desmontar los sistemas de archivos.
halt
,reboot
yshutdown
los programas que invocan entre sí. Hay un solo programa, con muchos analizadores de línea de comandos que se canalizan internamente en una ruta de código. Tampoco hay niveles de ejecución. El apagado tampoco entra en un modo de usuario único. De hecho, se cambió el nombre del modo de usuario único. Para obtener detalles, consulte unix.stackexchange.com/a/196014/5132 .El pasado
En la década de 1980, los BSD tenían
halt
,reboot
yshutdown
. System 5 UNIX tenía un conjunto de herramientas de compatibilidad BSD. Pero, de forma nativa, tenía su propia orden diferenteshutdown
; y no teníahalt
oreboot
en absoluto. (Algunas variantes del Sistema 5 tenían cosas como las de SCO XENIXhaltsys
).El BSD
halt
y losreboot
comandos fueron de bajo nivel, drásticos e inmediatos. La manera considerada de cerrar un sistema BSD fue elshutdown
comando, que hizo todas las cosas que uno espera que sucedan:wall
mensajes a los usuarios, servicios cortados con gracia, entradas de registro escritas, inicios de sesión deshabilitados, etc.Mientras que los BSD fueron en gran parte donde la sabiduría recibida originó esos "
shutdown
ejecutivoshalt
/reboot
", y que estos últimos debían usarse con cuidado; era el mundo del sistema 5, donde la gente aprendió que el hábito contrariohalt
/reboot
eran taquigrafías simplemente a mano y nada más:/usr/ucb/halt
desde el "paquete de compatibilidad BSD", no fue diferente en efectoshutdown -h
. Ambos terminaron haciendoinit 0
.Otras lecturas
halt
. 11/05/1982. 4.2BSD manual.haltsys
. 2005-06-03. Manual SCO OpenServer.Hoy
Hoy en día, tenemos una gama de posibles conjuntos de herramientas de administración del sistema. Los BSD todavía tienen su conjunto de herramientas, aunque purgado de cualquier posible AT & Tisms en la década de 1990. Miquel van Smoorenburg en 1992 (re) escribió un Linux
init
+rc
, y sus herramientas asociadas, que las personas ahora denominan "System 5 init", aunque en realidad no es el software del Sistema 5 de UNIX (y no es soloinit
) También hay SystemD , advenedizo , y comilona , cada uno de los cuales tiene sus propias implementaciones dehalt
,reboot
,fasthalt
,fastboot
, y así sucesivamente.Los conjuntos de herramientas también han crecido y cambiado. Ahora hay un
poweroff
comando, no presente en los sistemas operativos de la década de 1980 porque las Unidades Centrales de Procesamiento en la mayoría de las máquinas contemporáneas no tenían forma de controlar sus fuentes de alimentación. Los conjuntos de herramientas de Linux en particular han adquirido los comandos BSD; pero, al igual que las herramientas de compatibilidad BSD en el Sistema 5 de UNIX, no son exactamente iguales y las cosas se han aplanado en gran medida.Este aplanamiento nos ha llevado al punto donde
halt
yshutdown
son en su mayoría de la misma. Pero los detalles exactos varían de un conjunto de herramientas a otro, y la mecánica de cada conjunto de herramientas es ligeramente diferente.También nos ha llevado a la posición ligeramente embarazosa, donde este conjunto de comandos se ha vuelto tan adornada con opciones de compatibilidad que ahora permite a las personas para dar computadoras instrucciones contradictorias como
reboot --halt
ypoweroff --reboot
, como he señalado en la página del manual para la comilonahalt
,fasthalt
,reboot
,fastboot
, ypoweroff
comandos. ☺El conjunto de herramientas systemd
halt
,reboot
,poweroff
,telinit
, Yshutdown
son todo un programa . En realidad es el propiosystemctl
programa de systemd . Tiene varios analizadores de línea de comandos para las diversas sintaxis de línea de comandos de esos comandos, así como los suyos propios, pero después de eso se canaliza en gran medida internamente en una ruta de código. No hay diferencia entre usarhalt
y sus opciones de comando para activar una acción y usarshutdown
y sus opciones de comando para activar la misma acción.systemd no considera el modo de rescate (que es lo que la gente de systemd ha renombrado como modo de usuario único ) como un estado de apagado del sistema, y no es accesible con ninguno de estos comandos. Sin opción
shutdown now
es lo mismo quepoweroff
.Otras lecturas:
Los BSD
Los BSD conservan en gran medida su semántica de los años ochenta.
halt
y porshutdown
lo tanto no son equivalentes en sus conjuntos de herramientas.halt
yreboot
son un solo programa; y todavía son de bajo nivel, inmediatos y drásticos. Mientras que ,shutdown
ypoweroff
también un solo programa, haga todas las cosas consideradas como apagado programado, escribirwall
mensajes, acciones de registro, deshabilitar el inicio de sesión, etc.En los conjuntos de herramientas BSD,
shutdown
/poweroff
tradicionalmente terminaba invocandohalt
/reboot
para promulgar el cambio final de estado del sistema. El (a menudo hoy en día incorrecto) recibió la sabiduría de que "shutdown
execshalt
/reboot
" de hecho todavía tiene NetBSD y OpenBSD. Pero en FreeBSD / TrueOS / DragonFlyBSD solo es el caso si-o
se utiliza la opción. En estos BSD, tanto de estos programas normalmente promulgar el cambio final del estado del sistema mediante el envío de varias señales (INT
,USR1
yUSR2
) para procesar # 1.init
hace toda la gestión del estado del sistema en estos sistemas.En todos ellos, la opción-menos
shutdown now
no es equivalente a cualquiera dehalt
,reboot
opoweroff
. Transita al modo de usuario único BSD , desde el cual se puede volver a pasar al modo multiusuario .Otras lecturas:
shutdown
. Manual del administrador del sistema . Páginas del manual de NetBSD. 2011-11-04.reboot
,halt
. Páginas del manual de OpenBSD. 2016-09-03.shutdown
. Páginas del manual de FreeBSD. 2016-09-21.reboot
,halt
,fastboot
,fasthalt
. Páginas del manual de FreeBSD. 2017-03-19.shutdown
. Manual del administrador del sistema . Páginas del manual de DragonFlyBSD. 2016-09-29.reboot
,halt
,fastboot
,fasthalt
. Manual del administrador del sistema . Páginas del manual de DragonFlyBSD. 2016-09-29.El conjunto de herramientas nosh
En el conjunto de herramientas de gestión del sistema nosh,
halt
,fasthalt
,poweroff
,fastpoweroff
,reboot
, yfastboot
son todos un solo programa. Es una cuña de compatibilidad con versiones anteriores que normalmente simplemente encadenashutdown
, lo contrario de la sabiduría recibida. La--force
opción hace que se encadene en susystem-control
lugar.Por lo tanto, no hay diferencia (ausente
--force
) entre elhalt
comando y elshutdown
comando (con la opción equivalente) en este conjunto de herramientas, ya que este conjunto de comandos de "compatibilidad BSD / System 5" es simplemente una capa delgada de calce en la parte superiorshutdown
.Otras lecturas:
shutdown
. páginas del manual del conjunto de herramientas nosh. Softwarestelinit, init, reboot, halt, haltsys, powercycle, poweroff, … fastboot, fasthalt, fastpowercycle, fastpoweroff, …
páginas del manual del conjunto de herramientas nosh. SoftwaresEl conjunto de herramientas advenedizo
Al igual que con nosh, en el conjunto de herramientas de administración del sistema inicial se aplica lo contrario de la sabiduría BSD recibida.
halt
,,reboot
ypoweroff
son todos un programa, que normalmente encadena ashutdown
; a menos que se use la--force
opción, lo que hace que elreboot()
sistema se llame a sí mismo.Entonces, nuevamente, no hay diferencia (ausente
--force
) entre elhalt
comando y elshutdown
comando (con la opción equivalente) en este conjunto de herramientas. También de nuevo, la opción-menosshutdown now
(ninguno de los cualeshalt
,reboot
opoweroff
puede llegar a invocar, ya que todas las opciones de configuración) trae el sistema en modo de usuario único en lugar de apagarlo.Otras lecturas:
shutdown
(8) . Páginas de manual de Ubuntu.reboot
(8),halt
(8),poweroff
(8) . Páginas de manual de Ubuntu.El conjunto de herramientas Linux System 5
init
+rc
Una vez más, en este conjunto de herramientas se aplica lo opuesto a la sabiduría BSD recibida
halt
yreboot
simplemente se encadena ashutdown
, a menos que el sistema ya esté apagado o detenga los "niveles de ejecución", en cuyo caso estos comandos realmente promulgan el cambio final de estado del sistema.shutdown
a su vez encadena ainit
.Entonces, de nuevo, no hay diferencia (a menos que el sistema ya esté apagado en gran medida) entre
halt
yshutdown
porque el primero solo invoca al segundo. Y sí, otra vez, opción menosshutdown now
(que ninguno dehalt
,reboot
opoweroff
puede llegar a invocar, ya que todas las opciones de configuración) trae el sistema en modo de usuario único en lugar de apagarlo.fuente
Sospecho que esto depende en cierta medida de la versión de UNIX / Linux que esté utilizando. En Centos (y espero que otros Linux modernos) detenga el apagado de las llamadas (siempre que no esté en el nivel de ejecución 0 o 6) para que su sistema se apague limpiamente. En Solaris 10, la detención es más brutal, simplemente vacía los cachés de disco y apaga el sistema; no se hace ningún intento de ejecutar scripts o apagar las instalaciones de smf .
fuente
Para aquellos que usan AWS EC2: en AWS se
shutdown
detiene una instancia, cuando lahalt
termina .fuente
En Linux, "detener" y "reiniciar" son alias del comando de apagado,
shutdown -h
yshutdown -r
respectivamente. El cierre de Bareword generalmente supone -h.fuente
aliases
en el sentido de alias de shell, pero sí,halt
básicamente solo llamashutdown -h
yreboot
ejecutashutdown -r
. Tenga en cuenta que si pasa la-f
opción (fuerza) dehalt
oreboot
,shutdown
se no llama.sendmail
comando en este punto: al igual que con los MTA, en realidad no importa qué sistema de inicio use, porque todos reconocerán ambosshutdown
yhalt
como tales.sendmail
comando. Es como elsendmail
comando, pero no en la forma en que piensas.