"Herunterfahren jetzt" oder "Herunterfahren -h jetzt", um Raspberry Pi auszuschalten?

12

Ich bin neu in Linux (mit Raspbian) und Raspberry Pi und frage mich, welchen der beiden im Titel genannten Befehle ich verwenden soll, wenn ich meinen Pi ausschalte. Ich habe sie gegoogelt, aber ich verstehe immer noch nicht wirklich den Unterschied zwischen den beiden. Ist es wichtig, welchen ich benutze?

Nur ein Typ
quelle

Antworten:

13

Versuche es mit dem Tippen man shutdown. Auf den Manpages finden Sie eine vollständige Liste der Optionen, die ein Befehl ausführen kann, sowie eine Erläuterung zu deren Funktionsweise. Im Falle von -h:

-h Fordert an, dass das System nach dem Herunterfahren entweder angehalten oder ausgeschaltet wird, wobei die Wahl bleibt, welche Option dem System überlassen bleibt.

Der Unterschied zwischen dem Einschließen der -hOption und dem Nichteinschließen ist gering und in diesem Fall irrelevant, da Sie den Pi ohnehin nicht ausschalten können, ohne die USB-Stromversorgung manuell zu entfernen.

Greenonline
quelle
5

Die Dokumentation ist in man shutdown. 1

-P, --poweroff
           Power-off the machine (the default).

[...]

-h
           Equivalent to --poweroff, unless --halt is specified.

Manchmal haben Befehle redundant erscheinende Schalter wie diese, weil sie Spezifikationen für verschiedene Kontexte erfüllen müssen. Eine einfache Logik besagt, dass da poweroffohnehin die Standardeinstellung ist, die Verwendung -hselbst redundant ist (ebenfalls vorhanden, um eine externe Spezifikation zu erfüllen; einige Implementierungen von shutdownfunktionieren möglicherweise nicht standardmäßig auf diese Weise, aber alle konformen werden implementiert -h).

Da der pi selbst nicht ausgeschaltet werden kann (er ist entweder angeschlossen == an oder nicht), ist die Verwendung sinnlos poweroff, verursacht aber keinen Schaden. Es kann einen Unterschied machen, wie die rote LED am Ende blinkt shutdown -H. Beachten Sie, dass der Hauptzweck von darin shutdownbesteht, die Ausführung des Betriebssystems zu stoppen (anzuhalten).

Sie können also beide Formulare verwenden.


1. Dieser ist eigentlich von Raspbian jessie und kommt mit systemd; Es unterscheidet sich geringfügig von dem Herunterfahren in Raspbian Wheezy (Greenonlines Antwort zitiert dies). Dies ist ein Beispiel für das, was ich im nächsten Absatz über verschiedene Implementierungen erwähne, die dieselbe Spezifikation erfüllen. Das Herunterfahren ist eigentlich Teil des Init-Systems , das SysV auf Wheezy und Systemd auf Jessie ist.

Goldlöckchen
quelle
1

ich bevorzuge

sudo halt

Ich kann mich nicht erinnern, warum ich das gewählt habe, aber aus irgendeinem Grund verursachen andere Befehle Probleme. Das funktioniert einwandfrei. Neustarten:

sudo restart
otah007
quelle
2
Wenn Sie nur eine ausführen, haltkann dies zu Datenverlust führen. Eine viel bessere Vorgehensweise wäre sudo sync;sync;halt, den Datenspeicher (dh Festplatten, SD-Karte) mit ungeschriebenen zwischengespeicherten Daten im Speicher zu synchronisieren, bevor das System angehalten wird.
Greenonline
2
@ Greenonline: Wenn Sie eine Ausführung halt von Runlevel 0 oder 6 ausführen , kann dies zu Datenverlust führen. Bei jedem anderen Runlevel ist es gleichbedeutend mit shutdown -h now.
Mark
1
Warum ignorieren Benutzer das Vorhandensein des Befehls "init" unter Unix-ähnlichen Betriebssystemen? init 0Herunterfahren, init 6neu starten
Rkosegi
@Greenonline, @Mark, Von nun an werde ich verwenden shutdown -h now, wusste nicht, haltwar gefährlich!
Otah007