halta été utilisé avant ACPI (qui vous coupera le courant aujourd'hui) *. Cela arrêterait le système, puis afficherait un message indiquant "c'est ok pour éteindre maintenant". À l'époque, il y avait des interrupteurs physiques marche / arrêt, plutôt que le bouton d'alimentation contrôlé par ACPI combiné des ordinateurs modernes.
poweroff, arrêtera naturellement le système, puis mettra hors tension ACPI.
* Ces jours-ci haltsont suffisamment intelligents pour appeler automatiquement poweroffsi ACPI est activé. En fait, ils sont fonctionnellement équivalents maintenant.
Intéressant: sur mon ordinateur portable qui exécute Gentoo, /sbin/poweroffest un lien symbolique vers /sbin/halt.
phunehehe
Merci, bahamat! Je parle de deux options à la commande shutdown. La commande est halt-elle identique à shutdown -H, et la commande est poweroff-elle identique à shutdown -P? @phunehehe aussi.
StackExchange for All
@phunehehe: Ouais, j'étais presque sûr qu'ils sont les mêmes maintenant, mais je n'ai pas pris la peine de regarder.
bahamat
@Tim: Oui, ces drapeaux sont identiques à l'appel de la commande. Comme je l'ai dit, c'est à peu près une différence historique.
bahamat
1
Retour dans la journée, l' halthabitude de faire exactement cela. Pas d'arrêt ordonné, arrêtez simplement ce que la machine faisait à ce moment-là. Il était courant d'émettre sync;sync;sync;haltpour s'assurer que tous les tampons avaient été écrits sur le disque.
kurtm
15
Ce n'est pas la même chose, juste très étroitement liés. En pratique, à moins que vous ne vouliez spécifier un moment particulier pour l'arrêt ou pour forcer un redémarrage / arrêt / arrêt immédiat impur, peu importe que vous exécutiez shutdown -hou halt... ou shutdown -rvsreboot . Les choses n'étaient pas si bien commodes dans le passé, mais c'est ainsi que cela fonctionne maintenant (de nombreuses possibilités d'ambiguïté ou d'erreur utilisateur ont été supprimées / lissées).
/sbin/shutdownfait beaucoup de "nettoyage" comme avertir les utilisateurs, bloquer les nouvelles connexions pendant que le système s'arrête. On peut également lui dire d'arrêter le système à un certain moment ou dans XX minutes - avertissant de temps en temps les utilisateurs connectés de l'arrêt imminent.
Il change également le niveau d'exécution en 0( halt/ poweroff) ou 6( reboot), ce qui déclenche l'arrêt des services en cours, le démontage des disques, etc. en préparation de l'arrêt, de la mise hors tension ou du redémarrage.
Quand tout cela est fait, il appelle ensuite /sbin/halt , /sbin/rebootou /sbin/poweroff( rebootet poweroffdes liens symboliques habituellement halt, qui les interprète comme halt -ret halt -Prespectivement).
Notez cependant que si halt / reboot/ poweroffest appelé lorsque le système n'est PAS au niveau d'exécution 0ou 6alors ils appellent shutdownpour faire son travail à moins que l' option -fou ne forcesoit utilisée.
(Les détails de la façon dont sont interprétés les niveaux d' exécution peuvent varier d' une distro à distro, mais 0et 6sont utilisés comme décrit ici dans les dérivés Debian Debian et Ubuntu comme).
Consultez les pages de manuel pour shutdownet haltpour plus d'informations.
Enfin, la distinction entre halt et poweroffétat est que halttout fait pour éteindre la machine (sur certains types de matériel, cela signifie qu'il tombe dans un chargeur de démarrage ROM ou similaire. Sur la plupart des matériels PC, il s'arrête simplement), tout en poweroffterminant cette dernière étape et Éteindre. reboot, bien sûr, arrive à l'état d'arrêt puis redémarre l'ordinateur.
BTW, la valeur par défaut est généralement soit poweroffou reboot, mais vous pouvez utiliser -Hcomme argument pour l' shutdownarrêter à la place. Ce n'est pas très utile sur les boîtiers linux basés sur PC (mais c'est utile sur les machines, comme les boîtiers sparc, qui ont un moniteur de démarrage du firmware. Il est possible que cela devienne utile sur les machines plus récentes avec une ligne de commande EFI).
Il s'agit d'une réponse fortement centrée sur Linux à une question non spécifique au système d'exploitation. Toutes les shutdowncommandes n'ont pas la notion de niveaux d'exécution. shutdownla plupart du temps ne pas invoquer halt/ reboot/ poweroff; ironiquement, c'est sur quelques systèmes non Linux que cette sagesse reçue reste vraie aujourd'hui. Et où le point des liens symboliques n'est pas nécessairement halt; non seulement cela, dans certains ensembles d'outils, ils ne sont pas du tout des liens symboliques . Voir unix.stackexchange.com/a/196471/5132 pour plus de détails.
Réponses:
C'est un peu historique.
halt
a été utilisé avant ACPI (qui vous coupera le courant aujourd'hui) *. Cela arrêterait le système, puis afficherait un message indiquant "c'est ok pour éteindre maintenant". À l'époque, il y avait des interrupteurs physiques marche / arrêt, plutôt que le bouton d'alimentation contrôlé par ACPI combiné des ordinateurs modernes.poweroff
, arrêtera naturellement le système, puis mettra hors tension ACPI.* Ces jours-ci
halt
sont suffisamment intelligents pour appeler automatiquementpoweroff
si ACPI est activé. En fait, ils sont fonctionnellement équivalents maintenant.la source
/sbin/poweroff
est un lien symbolique vers/sbin/halt
.shutdown
. La commande esthalt
-elle identique àshutdown -H
, et la commande estpoweroff
-elle identique àshutdown -P
? @phunehehe aussi.halt
habitude de faire exactement cela. Pas d'arrêt ordonné, arrêtez simplement ce que la machine faisait à ce moment-là. Il était courant d'émettresync;sync;sync;halt
pour s'assurer que tous les tampons avaient été écrits sur le disque.Ce n'est pas la même chose, juste très étroitement liés. En pratique, à moins que vous ne vouliez spécifier un moment particulier pour l'arrêt ou pour forcer un redémarrage / arrêt / arrêt immédiat impur, peu importe que vous exécutiez
shutdown -h
ouhalt
... oushutdown -r
vsreboot
. Les choses n'étaient pas si bien commodes dans le passé, mais c'est ainsi que cela fonctionne maintenant (de nombreuses possibilités d'ambiguïté ou d'erreur utilisateur ont été supprimées / lissées)./sbin/shutdown
fait beaucoup de "nettoyage" comme avertir les utilisateurs, bloquer les nouvelles connexions pendant que le système s'arrête. On peut également lui dire d'arrêter le système à un certain moment ou dans XX minutes - avertissant de temps en temps les utilisateurs connectés de l'arrêt imminent.Il change également le niveau d'exécution en
0
(halt
/poweroff
) ou6
(reboot
), ce qui déclenche l'arrêt des services en cours, le démontage des disques, etc. en préparation de l'arrêt, de la mise hors tension ou du redémarrage.Quand tout cela est fait, il appelle ensuite
/sbin/halt
,/sbin/reboot
ou/sbin/poweroff
(reboot
etpoweroff
des liens symboliques habituellementhalt
, qui les interprète commehalt -r
ethalt -P
respectivement).Notez cependant que si
halt
/reboot
/poweroff
est appelé lorsque le système n'est PAS au niveau d'exécution0
ou6
alors ils appellentshutdown
pour faire son travail à moins que l' option-f
ou neforce
soit utilisée.(Les détails de la façon dont sont interprétés les niveaux d' exécution peuvent varier d' une distro à distro, mais
0
et6
sont utilisés comme décrit ici dans les dérivés Debian Debian et Ubuntu comme).Consultez les pages de manuel pour
shutdown
ethalt
pour plus d'informations.Enfin, la distinction entre
halt
etpoweroff
état est quehalt
tout fait pour éteindre la machine (sur certains types de matériel, cela signifie qu'il tombe dans un chargeur de démarrage ROM ou similaire. Sur la plupart des matériels PC, il s'arrête simplement), tout enpoweroff
terminant cette dernière étape et Éteindre.reboot
, bien sûr, arrive à l'état d'arrêt puis redémarre l'ordinateur.BTW, la valeur par défaut est généralement soit
poweroff
oureboot
, mais vous pouvez utiliser-H
comme argument pour l'shutdown
arrêter à la place. Ce n'est pas très utile sur les boîtiers linux basés sur PC (mais c'est utile sur les machines, comme les boîtiers sparc, qui ont un moniteur de démarrage du firmware. Il est possible que cela devienne utile sur les machines plus récentes avec une ligne de commande EFI).la source
shutdown
commandes n'ont pas la notion de niveaux d'exécution.shutdown
la plupart du temps ne pas invoquerhalt
/reboot
/poweroff
; ironiquement, c'est sur quelques systèmes non Linux que cette sagesse reçue reste vraie aujourd'hui. Et où le point des liens symboliques n'est pas nécessairementhalt
; non seulement cela, dans certains ensembles d'outils, ils ne sont pas du tout des liens symboliques . Voir unix.stackexchange.com/a/196471/5132 pour plus de détails.