Dlaczego nie uruchamia się „sudo shutdown now”?

87

Kiedy wydaje następujące:

sudo shutdown now

.. mój nowo uruchomiony serwer Ubuntu 14.04 nie wyłącza się. Zatrzymuje się na następujący komunikat:

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

Jeśli wpiszesz hasło roota, maszyna po prostu siedzi tam po znaku zachęty powłoki.

Jon Cage
źródło
5
Zamknij głosujących: To nie jest duplikat. Podczas gdy pytania są podobne, jedno z nich dotyczy konkretnego polecenia, a drugie ogólny sposób wyłączania komputera z wiersza poleceń.
Seth

Odpowiedzi:

138

Tradycyjnie polecenie sudo shutdown nowto przeniesie Cię do poziomu 1 (tryb odzyskiwania); stanie się tak zarówno dla Upstart, jak i SysV init. Aby uzyskać to, co chcesz, tj. Odpowiednio zamknąć komputer, musisz -hprzełączyć na shutdown.

Należy tutaj zauważyć, że haltzamknie wszystkie procesy, wyłączy procesory i zwróci sterowanie do monitora ROM na płycie głównej, wymagając od użytkownika naciśnięcia przycisku zasilania w celu wyłączenia zasilania, natomiast poweroffpo wyłączeniu procesorów po prostu wyłączy zasilanie, powodując prawidłowe wyłączenie.

-hPrzełącznik shutdownalbo będzie haltalbo poweroffkomputer, decyzja zostanie podjęta przez system Ubuntu chociaż widziałem, że normalnie poweroffmaszyna. Aby mieć pewność, że można użyć -Pprzełącznika z shutdowndo poweroffkomputera.

Podsumowując, oto polecenia dostępne dla poweroff( nie halt ) komputera:

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

Te poweroffi haltpolecenia zasadzie wywołać shutdown(z wyjątkiem poweroff -f). sudo poweroffi sudo halt -psą dokładnie jak sudo shutdown -P now. Polecenie sudo init 0przeniesie Cię do poziomu 0 ( zamknięcie ).

Co teraz, jeśli chcesz zamknąć siłą, tzn. Nie chcesz czekać na normalne zamknięcie procesów? W takim przypadku możesz użyć:

sudo poweroff -f

To się nie wykorzysta shutdown. Zamiast tego wywoła wywołanie reboot(2)systemowe (używane do ponownego uruchomienia, wyłączenia i zatrzymania) w celu natychmiastowego wyłączenia komputera.

heemayl
źródło
2
Lub połącz zamknięcie „teraz” z „poweroff”:sudo shutdown -P now
david6
3
Co rozumiesz przez „zamknięcie z użyciem siły”? Według strony man , -fopcja po prostu pomija fsckprzy ponownym uruchomieniu. Według strony podręcznika Ubuntu nie ma takiej opcji.
Ruslan
1
@ Ruslan: Być może mylę to z halt -f/ poweroff -f, który omija init i każe jądrze bezpośrednio odciąć zasilanie. To jest mocne.
grawity
1
Mój laptop dziękuje! Właściwie to rozłączyłem się z tym i zawsze używałem przycisku zasilania, ale teraz już wiem! Zatrzymanie utrzymywało mój system włączony, ale wyłączenie zasilania faktycznie go wyłącza. Wielkie dzięki! :-)
Terrance
1
@RGG Zalecam uruchomienie syncprzed tym poleceniem, ponieważ to polecenie omija wszystko, co może nadal znajdować się w pamięci podręcznej. syncwymusi zapisywanie z pamięci podręcznej na dysku, a następnie możesz go wyłączyć.
Terrance
15

Jestem prawie pewien, że poprawne polecenie musi zawierać opcję „-h” (zatrzymanie). Spróbuj tego:

sudo shutdown -h now
pille1842
źródło
6

To spuścizna z czasów, gdy fizyczna maszyna nie mogła sama się wyłączyć. Na przykład polecenie halt sudo haltkończy wszystkie programy i zwalnia prawie wszystko z pamięci RAM, gotowe do wyłączenia. Jednak jeśli uruchomisz sudo halt -p, zrobi to wszystko, a następnie zasygnalizuje, że system się wyłączy, lub w przypadku shutdownpolecenia potrzebujesz -aopcji, jak sądzę, chociaż osobiście korzystam halt.

John Cave
źródło
Co się stanie, jeśli zawsze wyłączam komputer za pomocą tego polecenia?
Nullpointer,
-1

Zawsze używałem następujących

sudo shutdown -a now

lub zrestartować natychmiast po wyłączeniu

sudo shutdown -r now

Patrząc na opcję pomocy przy zamykaniu nie ma na niej -a jako właściwego polecenia, ale mogłem przysiąc, że dawno temu -a przerwałam czy coś w tym rodzaju. W każdym razie nadal tego używałem i działało przez te wszystkie lata, ale wygląda na to, że zamknięcie systemu -h jest teraz właściwą opcją.

NPIC
źródło
1
Być może myślisz o poleceniu Windows shutdown /a, które przerywa zamknięcie systemu (odpowiednik shutdown -cUbuntu).
deltab
@deltab Tak, właśnie o tym myślę. Dziwne, że zamknięcie -a działa dla mnie.
NPIC