Respuestas:
Generalmente, uno usa el shutdowncomando . 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, shutdownle dice initque cambie a nivel de ejecución 0 (detención) o 6 (reinicio). (Tenga en cuenta que omitir -ho -rprovocará 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 haltoreboot , que sincroniza los cambios en los discos y luego realiza la detención / apagado real o el reinicio.
En Linux, si se ejecuta halto rebootcuando el sistema aún no ha iniciado el proceso de apagado, invocará el shutdowncomando 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 wtmpy luego realizan la detención / reinicio inmediatamente , sin eliminar primero los procesos o desmontar los sistemas de archivos.
halt, rebooty shutdownlos 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 .
En la década de 1980, los BSD tenían halt, rebooty shutdown. System 5 UNIX tenía un conjunto de herramientas de compatibilidad BSD. Pero, de forma nativa, tenía su propia orden diferente shutdown; y no tenía halto rebooten absoluto. (Algunas variantes del Sistema 5 tenían cosas como las de SCO XENIX haltsys).
El BSD halty los rebootcomandos fueron de bajo nivel, drásticos e inmediatos. La manera considerada de cerrar un sistema BSD fue el shutdowncomando, que hizo todas las cosas que uno espera que sucedan: wallmensajes 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 " shutdownejecutivos halt/ reboot", y que estos últimos debían usarse con cuidado; era el mundo del sistema 5, donde la gente aprendió que el hábito contrario halt/ rebooteran taquigrafías simplemente a mano y nada más: /usr/ucb/haltdesde el "paquete de compatibilidad BSD", no fue diferente en efecto shutdown -h. Ambos terminaron haciendo init 0.
halt. 11/05/1982. 4.2BSD manual.haltsys. 2005-06-03. Manual SCO OpenServer.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 solo init) También hay SystemD , advenedizo , y comilona , cada uno de los cuales tiene sus propias implementaciones de halt, reboot, fasthalt, fastboot, y así sucesivamente.
Los conjuntos de herramientas también han crecido y cambiado. Ahora hay un poweroffcomando, 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 halty shutdownson 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 --halty poweroff --reboot, como he señalado en la página del manual para la comilona halt, fasthalt, reboot, fastboot, y poweroffcomandos. ☺
halt, reboot, poweroff, telinit, Y shutdownson todo un programa . En realidad es el propio systemctlprograma 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 usar halty sus opciones de comando para activar una acción y usar shutdowny 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 nowes lo mismo que poweroff.
Los BSD conservan en gran medida su semántica de los años ochenta. halty por shutdownlo tanto no son equivalentes en sus conjuntos de herramientas. halty rebootson un solo programa; y todavía son de bajo nivel, inmediatos y drásticos. Mientras que , shutdowny powerofftambién un solo programa, haga todas las cosas consideradas como apagado programado, escribir wallmensajes, acciones de registro, deshabilitar el inicio de sesión, etc.
En los conjuntos de herramientas BSD, shutdown/ powerofftradicionalmente terminaba invocando halt/ rebootpara promulgar el cambio final de estado del sistema. El (a menudo hoy en día incorrecto) recibió la sabiduría de que " shutdownexecs halt/ reboot" de hecho todavía tiene NetBSD y OpenBSD. Pero en FreeBSD / TrueOS / DragonFlyBSD solo es el caso si -ose 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, USR1y USR2) para procesar # 1. inithace toda la gestión del estado del sistema en estos sistemas.
En todos ellos, la opción-menos shutdown nowno es equivalente a cualquiera de halt, rebooto poweroff. Transita al modo de usuario único BSD , desde el cual se puede volver a pasar al modo multiusuario .
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.En el conjunto de herramientas de gestión del sistema nosh, halt, fasthalt, poweroff, fastpoweroff, reboot, y fastbootson todos un solo programa. Es una cuña de compatibilidad con versiones anteriores que normalmente simplemente encadena shutdown, lo contrario de la sabiduría recibida. La --forceopción hace que se encadene en su system-controllugar.
Por lo tanto, no hay diferencia (ausente --force) entre el haltcomando y el shutdowncomando (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 superior shutdown.
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. SoftwaresAl 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,, rebooty poweroffson todos un programa, que normalmente encadena a shutdown; a menos que se use la --forceopción, lo que hace que el reboot()sistema se llame a sí mismo.
Entonces, nuevamente, no hay diferencia (ausente --force) entre el haltcomando y el shutdowncomando (con la opción equivalente) en este conjunto de herramientas. También de nuevo, la opción-menos shutdown now(ninguno de los cuales halt, rebooto poweroffpuede llegar a invocar, ya que todas las opciones de configuración) trae el sistema en modo de usuario único en lugar de apagarlo.
shutdown(8) . Páginas de manual de Ubuntu.reboot(8), halt(8), poweroff(8) . Páginas de manual de Ubuntu.init+rcUna vez más, en este conjunto de herramientas se aplica lo opuesto a la sabiduría BSD recibida halty rebootsimplemente se encadena a shutdown, 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. shutdowna su vez encadena a init.
Entonces, de nuevo, no hay diferencia (a menos que el sistema ya esté apagado en gran medida) entre halty shutdownporque el primero solo invoca al segundo. Y sí, otra vez, opción menos shutdown now(que ninguno de halt, rebooto poweroffpuede llegar a invocar, ya que todas las opciones de configuración) trae el sistema en modo de usuario único en lugar de apagarlo.
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 .
Para aquellos que usan AWS EC2: en AWS se shutdown detiene una instancia, cuando la halt termina .
En Linux, "detener" y "reiniciar" son alias del comando de apagado, shutdown -hy shutdown -rrespectivamente. El cierre de Bareword generalmente supone -h.
aliasesen el sentido de alias de shell, pero sí, haltbásicamente solo llama shutdown -hy rebootejecuta shutdown -r. Tenga en cuenta que si pasa la -fopción (fuerza) de halto reboot, shutdownse no llama.
sendmailcomando en este punto: al igual que con los MTA, en realidad no importa qué sistema de inicio use, porque todos reconocerán ambos shutdowny haltcomo tales.
sendmailcomando. Es como el sendmailcomando, pero no en la forma en que piensas.