Unterschied zwischen "halt" und "shutdown now"?

30

Ubuntu One Remote nutzt sudo -S -p '' haltzum Herunterfahren und funktioniert nicht bis zum Ende. Monitor mit Meldung eingeschaltet lassen

werde jetzt halt machen

[22225.11163] wurde angehalten

Was ist der Unterschied zwischen sudo -S -p " halt und sudo shutdown now?

nkvnkv
quelle

Antworten:

41

Die Schalter -Sund -pfür sudohaben in diesem Fall keine Bedeutung. Hier ist, was sie jeweils tun.

Der -SSchalter bewirkt sudo, dass das Passwort von STDIN gelesen wird. So kann beispielsweise ein Passwort sudoüber echooder weitergeleitet werden cat.

Mit dem -pSchalter können Sie die Standardkennwortabfrage überschreiben und ein benutzerdefiniertes oder keines verwenden.


Der wichtige Unterschied besteht in den beiden Befehlen, die von ausgegeben werden sudo.

Der haltBefehl, wenn ohne die aufgerufen -pSchalter, hält einfach das Betriebssystem und stoppt alle CPUs. Sobald das System sauber gestoppt ist, kann der Benutzer die Einschalttaste an seinem Computer sicher manuell drücken.

Die poweroff, shutdown -h nowund halt -pBefehle alle die gleichen wie tun haltallein, während zusätzlich einen ACPI - Befehl sendet die Stromversorgungseinheit zu signalisieren , die Hauptstromversorgung zu trennen. Dies verhindert, dass Sie den Ein- / Ausschalter Ihres Computers drücken müssen.

SirCharlo
quelle
9
shutdown -h nowschaltet auch nicht unbedingt den Strom aus. Das man shutdownhängt vom System ab. shutdown -H now( Hhalt
Beachten Sie die Großbuchstaben)
11

haltist nicht shutdown, sie sind verschiedene Befehle. Ersteres schaltet den Strom nicht aus, es sei denn, die -pOption wird verwendet

Aus dem manual ( man halt): "-p, --poweroff: Weist den halt-Befehl an, sich stattdessen als poweroff zu verhalten."

Und in Ihrem Fall -pwurde der Befehl nicht verwendet halt, sodass Ihr Computer nicht ausgeschaltet war.

Verwechseln Sie dieses -p nicht mit dem von sudo, es ist ein anderer Parameter für einen anderen Befehl. Von man sudo:

  • -S Die Option -S (stdin) bewirkt, dass sudo anstelle des Endgeräts das Kennwort von der Standardeingabe liest. Dem Passwort muss ein Zeilenumbruch folgen.
  • -p prompt Mit der Option -p (Eingabeaufforderung) können Sie die Standardkennwort-Eingabeaufforderung überschreiben und eine benutzerdefinierte verwenden.

In Ihrem Fall promptist es leer (Sudo erhält keine Meldung, wenn Sie nach dem Passwort gefragt werden), und -S veranlasst Sudo, das root-Passwort vi stdin zu akzeptieren (das Passwort kann also mithilfe von Pipes und Umleitungen von anderen Befehlen eingegeben werden, anstatt eingegeben zu werden).

MestreLion
quelle
7

Auf der Unix SE-Site gibt es eine gute Antwort zum shutdownvs- haltProblem: Was ist der Unterschied zwischen Halt- und Shutdown-Befehlen?

Was den sudo -S -p ''Teil betrifft, so wird die Meldung über die Abfrage des Passworts im Terminal entfernt (Sie haben Ihr Passwort jedoch noch eingegeben).

Beispielsweise gibt running sudo <some_command>diese Ausgabe aus, bevor dieser Befehl ausgeführt wird:

[sudo] Passwort für:

Durch das Ausführen sudo -S -p '' <some_command>wird diese Meldung ausgeblendet.

Tatsächlich ersetzt die Nachricht, die Sie in die Anführungszeichen setzen, die vorherige Nachricht.

Probieren Sie Folgendes aus und sehen Sie den Unterschied:

 sudo -S -p 'Hey, I am a custom message.' ls
Dan
quelle
0

In Bezug auf die Benutzerabsicht gibt es keinen Unterschied zwischen dem Befehl zum Anhalten und dem Herunterfahren. Der kleine Unterschied besteht darin, dass Sie im Stopp-Modus den Netzschalter bequem drücken müssen, um das System herunterzufahren, während der Befehl zum Herunterfahren automatisch das Advanced Configuration Power Interface (ACPI) anweist, ein Signal an das Netzteil zu senden, um das System auszuschalten.

Unaowo Brandy
quelle