haltse utilizó antes de ACPI (que hoy apagará la alimentación) *. Pararía el sistema y luego imprimiría un mensaje en el sentido de "está bien apagarlo ahora". En aquel entonces había interruptores físicos de encendido / apagado, en lugar del botón combinado de encendido controlado por ACPI de las computadoras modernas.
poweroff, naturalmente detendrá el sistema y luego llamará a ACPI para que se apague.
* En estos días haltes lo suficientemente inteligente como para llamar automáticamente poweroffsi ACPI está habilitado. De hecho, son funcionalmente equivalentes ahora.
Interesante: en mi computadora portátil que ejecuta Gentoo, /sbin/poweroffes un enlace simbólico a /sbin/halt.
phunehehe
Gracias bahamat! Estoy hablando de dos opciones para el comando shutdown. ¿Es el comando haltel mismo que el shutdown -Hcomando y poweroffel mismo que shutdown -P? @phunehehe también.
StackExchange for All
@phunehehe: Sí, estaba bastante seguro de que ahora son iguales, pero no me molesté en mirar.
bahamat
@Tim: Sí, esas banderas son lo mismo que llamar al comando. Como dije, es más o menos una diferencia histórica.
bahamat
1
De vuelta en el día, haltsolía hacer eso. Sin apagado ordenado, simplemente detenga lo que la máquina estaba haciendo en ese momento. Era común emitir sync;sync;sync;haltpara asegurarse de que todas las memorias intermedias se hubieran escrito en el disco.
kurtm
15
No son lo mismo, solo están muy relacionados. En la práctica, a menos que desee especificar un momento particular para apagar o forzar un reinicio / detención / apagado no limpio inmediato, realmente no importa si ejecutashutdown -h o halt... o shutdown -rvs reboot. Las cosas no eran tan cómodas en el pasado, pero esta es la forma en que funciona ahora (muchas de las oportunidades de ambigüedad o error del usuario se han eliminado / suavizado).
/sbin/shutdownhace muchas cosas de "limpieza" como notificar a los usuarios, bloquear nuevos inicios de sesión mientras el sistema se está cerrando. También se le puede pedir que apague el sistema en un momento determinado o en XX minutos, advirtiendo a los usuarios registrados de vez en cuando sobre el inminente apagado.
También cambia el nivel de ejecución a 0( halt/ poweroff) o 6( reboot), lo que activa el sistema para detener los servicios en ejecución, desmontar discos, etc., en preparación para la detención, apagado o reinicio reales.
Cuando se hace todo eso, llama a /sbin/halt, /sbin/rebooto /sbin/poweroff( rebooty poweroffgeneralmente son enlaces simbólicos a halt, que los interpreta como halt -ry halt -Prespectivamente).
Tenga en cuenta, sin embargo, que si halt/ reboot/ poweroffse llama cuando el sistema NO está en el nivel de ejecución 0o 6luego llamarán shutdownpara hacer su trabajo a menos que se use la opción -fo force.
(Los detalles de cómo se interpretan los niveles de ejecución pueden variar de una distribución a otra, pero 0 y 6se usan como se describe aquí en Debian y Debian-derivados como Ubuntu).
Vea las páginas de manual para shutdownyhalt para más información.
Finalmente, la distinción entre halty poweroffestado es que halthace todo lo posible para apagar la máquina (en algunos tipos de hardware esto significa que cae en un cargador de arranque ROM o similar. En la mayoría del hardware de la PC simplemente se detiene), mientras poweroffcompleta ese paso final y apaga. reboot, por supuesto, se detiene y luego reinicia la computadora.
Por cierto, el valor predeterminado es típicamente uno poweroffo dos reboot, pero puede usarlo -Hcomo argumento para shutdowndetenerlo. Esto no es muy útil en cajas de Linux basadas en PC (pero es útil en máquinas, como cajas de sparc, que tienen un monitor de arranque de firmware. Es posible que pueda ser útil en máquinas más nuevas con una línea de comando EFI).
Esta es una respuesta altamente centrada en Linux a una pregunta no específica del sistema operativo. No todos los shutdowncomandos tienen la noción de niveles de ejecución. shutdownen su mayoría no invoca halt/ reboot/ poweroff; Irónicamente, es en algunos sistemas que no son Linux donde esta sabiduría recibida sigue siendo cierta hoy en día. Y donde los enlaces simbólicos apuntan no es necesariamente halt; no solo eso, en algunos conjuntos de herramientas no son enlaces simbólicos en absoluto. Consulte unix.stackexchange.com/a/196471/5132 para obtener más detalles.
Respuestas:
Es un poco histórico.
halt
se utilizó antes de ACPI (que hoy apagará la alimentación) *. Pararía el sistema y luego imprimiría un mensaje en el sentido de "está bien apagarlo ahora". En aquel entonces había interruptores físicos de encendido / apagado, en lugar del botón combinado de encendido controlado por ACPI de las computadoras modernas.poweroff
, naturalmente detendrá el sistema y luego llamará a ACPI para que se apague.* En estos días
halt
es lo suficientemente inteligente como para llamar automáticamentepoweroff
si ACPI está habilitado. De hecho, son funcionalmente equivalentes ahora.fuente
/sbin/poweroff
es un enlace simbólico a/sbin/halt
.shutdown
. ¿Es el comandohalt
el mismo que elshutdown -H
comando ypoweroff
el mismo queshutdown -P
? @phunehehe también.halt
solía hacer eso. Sin apagado ordenado, simplemente detenga lo que la máquina estaba haciendo en ese momento. Era común emitirsync;sync;sync;halt
para asegurarse de que todas las memorias intermedias se hubieran escrito en el disco.No son lo mismo, solo están muy relacionados. En la práctica, a menos que desee especificar un momento particular para apagar o forzar un reinicio / detención / apagado no limpio inmediato, realmente no importa si ejecuta
shutdown -h
ohalt
... oshutdown -r
vsreboot
. Las cosas no eran tan cómodas en el pasado, pero esta es la forma en que funciona ahora (muchas de las oportunidades de ambigüedad o error del usuario se han eliminado / suavizado)./sbin/shutdown
hace muchas cosas de "limpieza" como notificar a los usuarios, bloquear nuevos inicios de sesión mientras el sistema se está cerrando. También se le puede pedir que apague el sistema en un momento determinado o en XX minutos, advirtiendo a los usuarios registrados de vez en cuando sobre el inminente apagado.También cambia el nivel de ejecución a
0
(halt
/poweroff
) o6
(reboot
), lo que activa el sistema para detener los servicios en ejecución, desmontar discos, etc., en preparación para la detención, apagado o reinicio reales.Cuando se hace todo eso, llama a
/sbin/halt
,/sbin/reboot
o/sbin/poweroff
(reboot
ypoweroff
generalmente son enlaces simbólicos ahalt
, que los interpreta comohalt -r
yhalt -P
respectivamente).Tenga en cuenta, sin embargo, que si
halt
/reboot
/poweroff
se llama cuando el sistema NO está en el nivel de ejecución0
o6
luego llamaránshutdown
para hacer su trabajo a menos que se use la opción-f
oforce
.(Los detalles de cómo se interpretan los niveles de ejecución pueden variar de una distribución a otra, pero
0
y6
se usan como se describe aquí en Debian y Debian-derivados como Ubuntu).Vea las páginas de manual para
shutdown
yhalt
para más información.Finalmente, la distinción entre
halt
ypoweroff
estado es quehalt
hace todo lo posible para apagar la máquina (en algunos tipos de hardware esto significa que cae en un cargador de arranque ROM o similar. En la mayoría del hardware de la PC simplemente se detiene), mientraspoweroff
completa ese paso final y apaga.reboot
, por supuesto, se detiene y luego reinicia la computadora.Por cierto, el valor predeterminado es típicamente uno
poweroff
o dosreboot
, pero puede usarlo-H
como argumento parashutdown
detenerlo. Esto no es muy útil en cajas de Linux basadas en PC (pero es útil en máquinas, como cajas de sparc, que tienen un monitor de arranque de firmware. Es posible que pueda ser útil en máquinas más nuevas con una línea de comando EFI).fuente
shutdown
comandos tienen la noción de niveles de ejecución.shutdown
en su mayoría no invocahalt
/reboot
/poweroff
; Irónicamente, es en algunos sistemas que no son Linux donde esta sabiduría recibida sigue siendo cierta hoy en día. Y donde los enlaces simbólicos apuntan no es necesariamentehalt
; no solo eso, en algunos conjuntos de herramientas no son enlaces simbólicos en absoluto. Consulte unix.stackexchange.com/a/196471/5132 para obtener más detalles.