haltwurde vor ACPI verwendet (das heute die Stromversorgung für Sie ausschaltet) *. Es würde das System anhalten und dann eine Meldung ausgeben, die besagt, dass das Gerät jetzt ausgeschaltet werden kann. Damals gab es eher physische Ein- / Ausschalter als den kombinierten ACPI-gesteuerten Ein- / Ausschalter moderner Computer.
poweroffwird natürlich das System anhalten und dann ACPI ausschalten.
* Heutzutage ist es haltklug genug, automatisch anzurufen, poweroffwenn ACPI aktiviert ist. Tatsächlich sind sie jetzt funktional gleichwertig.
Interessant: Auf meinem Laptop, auf dem Gentoo läuft, /sbin/poweroffist ein Symlink zu /sbin/halt.
Phunehehe
Danke, Bahamat! Ich spreche über zwei Optionen für den Befehl shutdown. Ist der Befehl haltderselbe wie shutdown -Hund der Befehl poweroffderselbe wie shutdown -P? @phunehehe auch.
Tim
@phunehehe: Ja, ich war mir ziemlich sicher, dass sie jetzt gleich sind, aber ich habe mich nicht darum gekümmert, sie anzuschauen.
Bahamat
@Tim: Ja, diese Flags entsprechen dem Aufruf des Befehls. Wie gesagt, es ist so ziemlich ein historischer Unterschied.
Bahamat
1
Zurück in den Tag, haltverwendet , genau das zu tun. Keine ordnungsgemäße Abschaltung, stoppen Sie einfach, was die Maschine gerade tat. Es war üblich sync;sync;sync;halt, sicherzustellen, dass alle Puffer auf die Festplatte geschrieben wurden.
Kurtm
15
Sie sind nicht dasselbe, nur sehr eng miteinander verwandt. In der Praxis spielt es keine Rolle, ob Sie ausführen shutdown -hoder halt... oder shutdown -rvs , es sei denn, Sie möchten einen bestimmten Zeitpunkt zum Herunterfahren angeben oder einen sofortigen unsauberen Neustart / Anhalten / Ausschalten erzwingen reboot. In der Vergangenheit waren die Dinge nicht so angenehm, aber jetzt funktioniert es so (viele der Möglichkeiten für Mehrdeutigkeiten oder Benutzerfehler wurden beseitigt / geglättet).
/sbin/shutdownerledigt viele "Aufräumarbeiten" wie das Benachrichtigen von Benutzern und das Blockieren neuer Anmeldungen, während das System heruntergefahren wird. Sie können auch festlegen, dass das System zu einem bestimmten Zeitpunkt oder in XX Minuten heruntergefahren werden soll. Dabei werden angemeldete Benutzer von Zeit zu Zeit vor dem bevorstehenden Herunterfahren gewarnt.
Außerdem wird der Runlevel in 0( halt/ poweroff) oder 6( reboot) geändert, wodurch das System veranlasst wird, die laufenden Dienste anzuhalten, die Bereitstellung von Datenträgern usw. aufzuheben, um das tatsächliche Anhalten, Ausschalten oder Neustarten vorzubereiten.
Wenn alles, was getan wird, ruft er dann /sbin/halt, /sbin/rebootoder /sbin/poweroff( rebootund poweroffsind in der Regel Symlinks halt, die interpretiert sie als halt -rund halt -Pbeziehungsweise).
Beachten Sie jedoch, dass , wenn halt/ reboot/ wird poweroffaufgerufen, wenn das System nicht in Runlevel ist 0oder 6dann werden sie rufen shutdownihre Arbeit zu tun , wenn die -foder forceOption verwendet wird.
(Die Details, wie Lauf Ebenen interpretiert werden von Distro Distro kann variieren, aber 0und 6werden wie hier in Debian und Debian-Derivate wie Ubuntu verwendet).
Weitere Informationen finden Sie in den Manpages für shutdownund halt.
Schließlich besteht die Unterscheidung zwischen haltund poweroffZustand darin, dass haltalles getan wird, um die Maschine tatsächlich auszuschalten (bei einigen Arten von Hardware bedeutet dies, dass sie in einen ROM-Bootloader oder ähnliches abgelegt wird. Bei den meisten PC-Hardware wird sie nur angehalten), während poweroffdieser letzte Schritt und abgeschlossen werden schaltet aus. rebootNatürlich wird der Computer angehalten und neu gestartet.
Übrigens ist der Standard entweder poweroffoder reboot, aber Sie können ihn stattdessen -Hals Argument verwenden shutdown, um ihn anzuhalten. Dies ist auf PC-basierten Linux-Rechnern nicht sehr nützlich (aber auf Rechnern wie sparc-Rechnern, die einen Firmware-Boot-Monitor haben. Es ist möglich, dass es auf neueren Rechnern mit einer EFI-Befehlszeile nützlich wird).
Dies ist eine stark Linux-zentrierte Antwort auf eine nicht betriebssystemspezifische Frage. Nicht alle shutdownBefehle haben den Begriff Runlevel. ruftshutdown meistens nicht auf halt/ reboot/ poweroff; Ironischerweise ist es auf einigen Nicht-Linux- Systemen so, dass diese Weisheit bis heute erhalten bleibt. Und wo der symbolische Verknüpfungspunkt nicht unbedingt ist halt; Darüber hinaus sind sie in einigen Toolsets überhaupt keine symbolischen Verknüpfungen. Weitere Informationen finden Sie unter unix.stackexchange.com/a/196471/5132 .
Antworten:
Es ist ein bisschen historisch.
halt
wurde vor ACPI verwendet (das heute die Stromversorgung für Sie ausschaltet) *. Es würde das System anhalten und dann eine Meldung ausgeben, die besagt, dass das Gerät jetzt ausgeschaltet werden kann. Damals gab es eher physische Ein- / Ausschalter als den kombinierten ACPI-gesteuerten Ein- / Ausschalter moderner Computer.poweroff
wird natürlich das System anhalten und dann ACPI ausschalten.* Heutzutage ist es
halt
klug genug, automatisch anzurufen,poweroff
wenn ACPI aktiviert ist. Tatsächlich sind sie jetzt funktional gleichwertig.quelle
/sbin/poweroff
ist ein Symlink zu/sbin/halt
.shutdown
. Ist der Befehlhalt
derselbe wieshutdown -H
und der Befehlpoweroff
derselbe wieshutdown -P
? @phunehehe auch.halt
verwendet , genau das zu tun. Keine ordnungsgemäße Abschaltung, stoppen Sie einfach, was die Maschine gerade tat. Es war üblichsync;sync;sync;halt
, sicherzustellen, dass alle Puffer auf die Festplatte geschrieben wurden.Sie sind nicht dasselbe, nur sehr eng miteinander verwandt. In der Praxis spielt es keine Rolle, ob Sie ausführen
shutdown -h
oderhalt
... odershutdown -r
vs , es sei denn, Sie möchten einen bestimmten Zeitpunkt zum Herunterfahren angeben oder einen sofortigen unsauberen Neustart / Anhalten / Ausschalten erzwingenreboot
. In der Vergangenheit waren die Dinge nicht so angenehm, aber jetzt funktioniert es so (viele der Möglichkeiten für Mehrdeutigkeiten oder Benutzerfehler wurden beseitigt / geglättet)./sbin/shutdown
erledigt viele "Aufräumarbeiten" wie das Benachrichtigen von Benutzern und das Blockieren neuer Anmeldungen, während das System heruntergefahren wird. Sie können auch festlegen, dass das System zu einem bestimmten Zeitpunkt oder in XX Minuten heruntergefahren werden soll. Dabei werden angemeldete Benutzer von Zeit zu Zeit vor dem bevorstehenden Herunterfahren gewarnt.Außerdem wird der Runlevel in
0
(halt
/poweroff
) oder6
(reboot
) geändert, wodurch das System veranlasst wird, die laufenden Dienste anzuhalten, die Bereitstellung von Datenträgern usw. aufzuheben, um das tatsächliche Anhalten, Ausschalten oder Neustarten vorzubereiten.Wenn alles, was getan wird, ruft er dann
/sbin/halt
,/sbin/reboot
oder/sbin/poweroff
(reboot
undpoweroff
sind in der Regel Symlinkshalt
, die interpretiert sie alshalt -r
undhalt -P
beziehungsweise).Beachten Sie jedoch, dass , wenn
halt
/reboot
/ wirdpoweroff
aufgerufen, wenn das System nicht in Runlevel ist0
oder6
dann werden sie rufenshutdown
ihre Arbeit zu tun , wenn die-f
oderforce
Option verwendet wird.(Die Details, wie Lauf Ebenen interpretiert werden von Distro Distro kann variieren, aber
0
und6
werden wie hier in Debian und Debian-Derivate wie Ubuntu verwendet).Weitere Informationen finden Sie in den Manpages für
shutdown
undhalt
.Schließlich besteht die Unterscheidung zwischen
halt
undpoweroff
Zustand darin, dasshalt
alles getan wird, um die Maschine tatsächlich auszuschalten (bei einigen Arten von Hardware bedeutet dies, dass sie in einen ROM-Bootloader oder ähnliches abgelegt wird. Bei den meisten PC-Hardware wird sie nur angehalten), währendpoweroff
dieser letzte Schritt und abgeschlossen werden schaltet aus.reboot
Natürlich wird der Computer angehalten und neu gestartet.Übrigens ist der Standard entweder
poweroff
oderreboot
, aber Sie können ihn stattdessen-H
als Argument verwendenshutdown
, um ihn anzuhalten. Dies ist auf PC-basierten Linux-Rechnern nicht sehr nützlich (aber auf Rechnern wie sparc-Rechnern, die einen Firmware-Boot-Monitor haben. Es ist möglich, dass es auf neueren Rechnern mit einer EFI-Befehlszeile nützlich wird).quelle
shutdown
Befehle haben den Begriff Runlevel. ruftshutdown
meistens nicht aufhalt
/reboot
/poweroff
; Ironischerweise ist es auf einigen Nicht-Linux- Systemen so, dass diese Weisheit bis heute erhalten bleibt. Und wo der symbolische Verknüpfungspunkt nicht unbedingt isthalt
; Darüber hinaus sind sie in einigen Toolsets überhaupt keine symbolischen Verknüpfungen. Weitere Informationen finden Sie unter unix.stackexchange.com/a/196471/5132 .