Warum wird "sudo shutdown now" nicht heruntergefahren?


87

Wenn ich Folgendes ausstelle:

sudo shutdown now

..mein neu in Betrieb genommener Ubuntu 14.04 Server fährt nicht herunter. Es stoppt mit der folgenden Meldung:

* Stopping System V runlevel compatibility
Give root password for maintenance:
(or type Control-D to continue):

Wenn ich das root-Passwort eingebe, sitzt der Computer einfach an der Shell-Eingabeaufforderung.



5
Enge Wähler: Dies ist kein Duplikat. Während die Fragen ähnlich sind, fragt der eine nach einem bestimmten Befehl, der andere nach einer allgemeinen Methode zum Herunterfahren des Computers über die Befehlszeile.
Seth

Antworten:


138

Normalerweise sudo shutdown nowbringt Sie der Befehl zum Runlevel 1 (Wiederherstellungsmodus). Dies geschieht sowohl für Upstart als auch für SysV init. Um zu bekommen, was Sie wollen, dh um den Computer ordnungsgemäß herunterzufahren, müssen Sie den -hSchalter auf geben shutdown.

Hierbei ist zu beachten, dass haltalle Prozesse geschlossen, die CPUs ausgeschaltet und die Steuerung an einen ROM-Monitor des Mainboards zurückgegeben werden, wobei der Benutzer den Netzschalter drücken muss, um die Stromversorgung auszuschalten, während poweroffnach dem Ausschalten der CPUs schaltet einfach die Stromversorgung aus, was zu einem ordnungsgemäßen Herunterfahren führt.

Der -hSchalter des shutdownWillen entweder haltoder poweroffder Computer, wird die Entscheidung durch das System genommen werden , obwohl in Ubuntu ich gesehen habe , dass es würde normalerweise poweroffdie Maschine. Um sicherzugehen, können Sie den -PSchalter mit shutdownan poweroffden Computer anschließen.

Zusammenfassend sind hier die Befehle, die einem Computer poweroff( nicht halt ) zur Verfügung stehen:

sudo shutdown -h now
sudo shutdown -P now
sudo poweroff
sudo halt -p
sudo init 0

Die Befehle poweroffund haltwerden grundsätzlich aufgerufen shutdown(mit Ausnahme der poweroff -f). sudo poweroffund sudo halt -psind genau wie sudo shutdown -P now. Der Befehl sudo init 0bringt Sie zum Runlevel 0 ( Herunterfahren ).

Was ist nun, wenn Sie gewaltsam herunterfahren möchten, dh nicht darauf warten möchten, dass Prozesse normal beendet werden? In diesem Fall können Sie Folgendes verwenden:

sudo poweroff -f

Dies wird nicht verwendet shutdown. reboot(2)Stattdessen wird der Systemaufruf (zum Neustarten, Ausschalten und Anhalten) aufgerufen, um den Computer sofort auszuschalten.


2
Oder kombinieren Sie das Herunterfahren 'jetzt' mit 'Ausschalten':sudo shutdown -P now
david6

3
Was meinen Sie mit "gewaltsam herunterfahren"? Laut einer Manpage wird die -fOption nur fsckbeim Neustart übersprungen. Und laut Ubuntus Manpage gibt es eine solche Option überhaupt nicht.
Ruslan

1
@ Ruslan: Vielleicht verwechselt man es mit halt -f/ poweroff -f, was init umgeht und den Kernel direkt anweist , die Stromversorgung zu unterbrechen . Das ist kraftvoll.
Grawity

1
Mein Laptop bedankt sich bei Ihnen! Ich war tatsächlich aufgelegt und habe nur immer den Ein- / Ausschalter gedrückt, aber jetzt weiß ich es! Der Stopp hielt mein System eingeschaltet, aber das Ausschalten schaltet es tatsächlich aus. Danke vielmals! :-)
Terrance

1
@RGG Ich würde empfehlen, dass Sie syncvor diesem Befehl ausführen , da dieser Befehl alles umgeht, was sich möglicherweise noch im Cache befindet. synczwingt zwischengespeicherte Schreibvorgänge auf die Festplatte, dann können Sie es ausschalten.
Terrance

15

Ich bin mir ziemlich sicher, dass der richtige Befehl die Option "-h" (halt) enthalten muss. Versuche dies:

sudo shutdown -h now

6

Es ist ein Erbe aus der Zeit, als sich die physische Maschine nicht selbst ausschalten konnte. Zum Beispiel sudo haltbeendet der Befehl stop alle Programme und entlädt fast alles aus dem RAM, das zum Ausschalten bereit ist. Wenn Sie jedoch ausführen sudo halt -p, wird dies alles erledigt, und das System wird zum Ausschalten veranlasst, oder im Fall des shutdownBefehls benötigen Sie die -aOption, glaube ich, obwohl ich sie persönlich benutze halt.


Was passiert, wenn ich den PC immer mit diesem Befehl herunterfahre?
Nullpointer

-1

Ich habe immer folgendes verwendet

sudo shutdown -a now

oder sofort nach dem Herunterfahren neu starten

sudo shutdown -r now

Wenn Sie sich die Hilfeoption zum Herunterfahren ansehen, wird -a nicht als richtiger Befehl aufgeführt, aber ich hätte schwören können, dass vor langer Zeit -a abgebrochen wurde oder so ähnlich. Wie auch immer, ich habe das weiter benutzt und es hat all die Jahre funktioniert, aber es sieht so aus, als wäre Herunterfahren -h jetzt die richtige Option.


1
Vielleicht denken Sie an den Windows-Befehl shutdown /a, der das Herunterfahren abbricht (entspricht shutdown -cUbuntu).
DeltaB

@deltab Ja das muss sein, woran ich dann denke. Merkwürdig, dass Shutdown - ein Problem für mich.
NPIC
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.