Ist halt gleichbedeutend mit "shutdown -H" und poweroff gleichbedeutend mit "shutdown -P"?


Antworten:


26

Es ist ein bisschen historisch.

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).


1
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 .
JdeBP,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.