Jaki jest właściwy sposób zamknięcia terminala?

37

Próbowałem zamknąć komputer za pośrednictwem SSH. Straciłem

sudo shutdown now

Użytkownik został wylogowany i Ubuntu zaczął się wyłączać, ale zamarł na ostatnim ekranie z logo Ubuntu i kropkami ładowania. Masz pojęcie, gdzie może być problem?

Jaka jest różnica między shutdowni halt? Jakie są inne podobne polecenia?

Richard Rodriguez
źródło
Czy to działa, jeśli uruchomisz „sudo shutdown -P now”?
Eliah Kagan
lub sudo zamknięcie - h teraz
sfałszowane
+1 za pytanie. Właśnie miałem ten sam problem.
boehj
btw: to (także) działa ze wszystkich (innych) terminali tty :-)
orzechowe o natty

Odpowiedzi:

36

Z MAN STRON:

Shutdown - „shutdown zapewnia bezpieczne wyłączenie systemu. Wszyscy zalogowani użytkownicy są powiadamiani o wyłączeniu systemu i, w ciągu ostatnich pięciu minut od TIME, nowe logowania są blokowane”. Wspomniany tutaj czas to kwota określona przez zamykanego użytkownika.

Halt - „Programy te pozwalają administratorowi systemu na ponowne uruchomienie, zatrzymanie lub wyłączenie systemu”.

Różnica polega na tym, że Halt może być bardziej „agresywny” podczas zamykania niż sam Shutdown. Ma parametry, które mogą dosłownie wymusić zamknięcie systemu bez względu na usługi lub otwarte programy. Jeśli uruchomisz zatrzymanie bez żadnych parametrów, po prostu wykona polecenie zamknięcia. Coś jak alias. Jeśli uruchomisz go na przykład z parametrem --force, „zmusi” on system do ponownego uruchomienia bardzo szybko.

W przypadku zatrzymania lub wyłączenia będą czekać na prawidłowe zakończenie wszystkich procesów przed wyłączeniem komputera lub ponownym uruchomieniem. Jeśli usługa lub aplikacja nie zamyka się lub nie zamyka prawidłowo, zobaczysz tam, co tam wspomniasz (logo ubuntu z kropkami).

Właściwym sposobem w terminalu dla jednego użytkownika lub wielu użytkowników jest zamknięcie. Ale jeśli zamknięcie nie działa, sprawdź, jakie usługi masz uruchomione, a które powodują spowolnienie lub zawieszenie się zamknięcia.

Mając to na uwadze, istnieje kilka sposobów ponownego uruchomienia lub zamknięcia systemu:

Ponowne uruchomienie - shutdown -r,reboot

W takim przypadku ponowne uruchomienie po prostu dzwoni shutdown -r.

Zamykanie - halt, shutdown, sudo init 0, shutdown -h now,poweroff

W tym przypadku poweroffjest to to samo, co dzwonienieshutdown -P

Jak zauważyłeś, shutdownpolecenie może zrobić wiele rzeczy, oto mała lista:

-r  Requests that the system be rebooted after it has been brought down
-h  Requests that the system be either halted or powered off after it has been brought down, with the choice as to which left up to the system
-H  Requests that the system be halted after it has been brought down
-P  Requests that the system be powered off after it has been brought down
-c  Cancels a running shutdown. TIME is not specified with this option, the first argument is MESSAGE
-k  Only send out the warning messages and disable logins, do not actually bring the system down

Podobnie jak reboot

-f, --force                 force reboot or halt, don't call shutdown(8)
-p, --poweroff              switch off the power when called as halt

Istnieje jednak różnica między zamknięciem systemu przez terminal a kliknięciem opcji Zamknij w Unity. Ten ostatni poprosi użytkownika o interakcję z każdą niezapisaną pracą (np. Libreoffice, inkscape ...). ten pierwszy wyśle ​​po prostu sygnał do wszystkich procesów, informując ich o zamknięciu. Żadna interakcja użytkownika nie będzie wymagana, więc wszelkie niezapisane prace znikną.

Luis Alvarado
źródło
2
Dlaczego więc Ubuntu wyłącza się poprawnie, gdy robi to za pomocą przycisku zamykania na górnym pasku? Czym różni się to od polecenia terminalu? Dlaczego to działa, a polecenie terminalu nie? To dość dziwne ...
Richard Rodriguez
16
@ RiMMER shutdownzamyka system operacyjny, ale tak naprawdę nie wyłącza komputera. Potrzebujesz dodatkowego argumentu, takiego jak shutdown -Plub, aby zadzwonić poweroff. (Są takie same.) Kompletny wykaz podobnych poleceń jest reboot, halt, poweroffi shutdown.
jg-faustus
W moim przypadku laptop nigdy się nie wyłącza, gdy przycisk wyłączania znajduje się w jedności lub samo polecenie.
Luis Alvarado
Jak spawnować go z XMonada? ("M-S-k", spawn "sudo shutdown now -P")nie działa
Abdulsattar Mohammed,
czy 'shutdown -P' będzie również działał z tty1 (aby również zamknąć tty7 i wyłączyć maszynę)?
orzechowy o natty
7

To, co musisz zrobić, to wyłączyć komputer po jego wyłączeniu, uruchamiając poniższe polecenie:

zamknięcie sudo -P 20

Andrzej
źródło
1
Dlaczego to jest lepsze niż po prostu shutdown -P? EDYCJA : Czy nie jest w stanie wiedzieć, kiedy mam dobry moment na wyłączenie?
David Tabernero M.,
Ponieważ jeśli „nagle” nie masz już pewności co do zamknięcia, możesz anulować proces zamykania. Bez marnowania czasu zrobi to natychmiast = bez zawracania. Ponadto, jeśli jesteś na serwerze z większą liczbą osób, otrzymają komunikat, że serwer wkrótce się zamknie, pozostawiając im trochę czasu na przygotowanie się do wylogowania.
s1mmel
2

Kolejne polecenie dla systemu zamykania to

sudo init 0

init 0 wywołuje wszystkie skrypty zamykania i z wdziękiem wyłącza komputer.

Ketan Patel
źródło
3
To wymaga nieco więcej wyjaśnień.
don.joey
0

Jaki jest właściwy sposób zamknięcia terminala?

shutdown -h now

lub

poweroff
Trevor
źródło