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.
/sbin/poweroff
ist ein Symlink zu /sbin/halt
.
shutdown
. Ist der Befehl halt
derselbe wie shutdown -H
und der Befehl poweroff
derselbe wie shutdown -P
? @phunehehe auch.
halt
verwendet , 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.
Sie sind nicht dasselbe, nur sehr eng miteinander verwandt. In der Praxis spielt es keine Rolle, ob Sie ausführen shutdown -h
oder halt
... oder shutdown -r
vs , 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/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
) 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/reboot
oder /sbin/poweroff
( reboot
und poweroff
sind in der Regel Symlinks halt
, die interpretiert sie als halt -r
und halt -P
beziehungsweise).
Beachten Sie jedoch, dass , wenn halt
/ reboot
/ wird poweroff
aufgerufen, wenn das System nicht in Runlevel ist 0
oder 6
dann werden sie rufen shutdown
ihre Arbeit zu tun , wenn die -f
oder force
Option verwendet wird.
(Die Details, wie Lauf Ebenen interpretiert werden von Distro Distro kann variieren, aber 0
und 6
werden wie hier in Debian und Debian-Derivate wie Ubuntu verwendet).
Weitere Informationen finden Sie in den Manpages für shutdown
und halt
.
Schließlich besteht die Unterscheidung zwischen halt
und poweroff
Zustand darin, dass halt
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ährend poweroff
dieser letzte Schritt und abgeschlossen werden schaltet aus. reboot
Natürlich wird der Computer angehalten und neu gestartet.
Übrigens ist der Standard entweder poweroff
oder reboot
, aber Sie können ihn stattdessen -H
als 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).
shutdown
Befehle 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 .