Jak ponownie uruchomić lub zamknąć system Linux za pomocą wiersza poleceń

Chcesz zacząć od nowa? Ten samouczek pokaże Ci, jak w czysty i bezpieczny sposób zrestartować lub zamknąć komputer z systemem Linux lub macOS z wiersza poleceń.

Schodzimy w dół

Czasami musisz po prostu przejść do ponownego uruchomienia lub całkowitego zamknięcia. Jeśli pracujesz na serwerze bez graficznego interfejsu użytkownika lub jesteś w sesji SSH z komputerem zdalnym, linia poleceń jest jedyną opcją. Systemy Linux i podobne do systemów Unix, takie jak macOS, udostępniają kilka poleceń zamykania lub ponownego uruchamiania systemu bezpośrednio z wiersza poleceń.

Polecenia, których możesz użyć, to:

zamknąć
restart
postój
wyłączanie

Przeglądanie stron podręcznika systemowego pod kątem tych poleceń może być mylące. W zależności od wybranych opcji wiersza poleceń, wszystkie te polecenia mogą być wykonywane wyłączenia, uruchamia się ponownie i zatrzymuje system. W rzeczywistości strony podręcznika man dla ponownego uruchomienia, zatrzymania i wyłączenia zawierają pliki dokładnie te same informacje.

strona podręcznika man dla polecenia halt

Co się za tym kryje?

Odpowiedź leży w systemd bootstrap system, który zastąpił czcigodny system init System V. W świecie Linuksa Fedora zaczęła używać systemd w 2011 roku. Od tego czasu została przyjęta przez wiele dystrybucji. Debian i Ubuntu przeszły na systemd w 2015 roku.

W dystrybucjach opartych na systemd polecenia zamykania, ponownego uruchamiania, zatrzymywania i wyłączania zasilania są w rzeczywistości skrótami wskazującymi na polecenie systemctl. Zachowanie tych poleceń zapewnia pewien stopień zgodności z dystrybucjami opartymi na inicjalizacji Systemu V. Oznacza to, że skrypty powłoki (i rdzenni administratorzy systemu System V) nie upadną, jeśli zostaną przeniesione na komputer z uruchomioną dystrybucją systemd.

Korzystanie z Shutdown

Zamykanie lub ponowne uruchamianie systemu z wieloma użytkownikami oznacza, że ​​musisz planować z wyprzedzeniem. Musisz zdecydować, kiedy zamierzasz zamknąć lub ponownie uruchomić komputer, i ostrzec innych użytkowników systemu o zbliżającym się zamknięciu i kiedy. Jeśli jest to Twój własny komputer i tylko Ty go używasz, życie jest znacznie prostsze.

Aby uruchomić którekolwiek z tych poleceń, musisz być w grupie sudo. Oznacza to, że musisz mieć uprawnienia administratora i móc korzystać z polecenia sudo. Jeśli polecenie, które wydałeś, zacznie obowiązywać natychmiast i nie wpłynie na innych zalogowanych użytkowników, nie będziesz musiał używać sudo. Jeśli spróbujesz użyć jednego z tych poleceń, a polecenie zostanie odrzucone, spróbuj ponownie z sudo.

Domyślnie polecenie shutdown zapewnia czyste zatrzymanie wszystkich procesów, zsynchronizowanie wszystkich systemów plików i wstrzymanie całej aktywności procesora. To jest stan „zatrzymania”. Następnie wysyła komunikat do sprzętu, aby odciąć zasilanie. Jest to oczywiście stan wyłączenia lub „wyłączenia”.

Powszechne jest przekazywanie niektórych parametrów zamknięcia, takich jak ciąg czasu i komunikat, który zostanie wysłany do zalogowanych użytkowników, aby ostrzec ich przed zamknięciem. Zaplanujmy wyłączenie na 15 minut od teraz. Wpisz shutdown, spację, +15, spację, a następnie wiadomość do wysłania do użytkowników.

shutdown +15 Shutting down in 15 minutes!

polecenie zamknięcia +15 wiadomość

Ciąg czasu, którego użyliśmy, to +15, co oznacza 15 minut od teraz. Znak + jest opcjonalny. Mogliśmy wpisać 15.

Otrzymujemy odpowiedź, która potwierdza, że ​​wyłączenie jest zaplanowane i kiedy nastąpi. Zalogowani użytkownicy otrzymają podaną przez nas wiadomość.

powiadomienie o zamknięciu

Aby anulować zamknięcie, użyj opcji -c (anuluj).

shutdown -c

Shutdown -c anuluj polecenie

Chociaż nie otrzymujesz żadnego powiadomienia, że ​​zamknięcie zostało anulowane, zalogowani użytkownicy otrzymają powiadomienie.

Powiadomienie o anulowaniu

Jeśli nie podasz ciągu czasu, wyłączenie zostanie zaplanowane na jedną minutę od teraz. Pamiętaj, że nie możesz przekazać wiadomości zalogowanym użytkownikom, jeśli nie określisz ciągu czasu.

shutdown

polecenie zamknięcia bez parametrów

Jeśli nie możesz czekać nawet minuty, możesz użyć teraz jako ciągu czasowego, a wyłączenie zacznie działać natychmiast. Używanie teraz jest jak używanie +0.

zamknięcie teraz

Łańcuch czasu może być ustawionym czasem, na przykład 23:00. Musi mieć format GG: MM i musi mieć format 24-godzinny. Pięć minut przed wyłączeniem systemu nowe logowania są blokowane.

zamknięcie 23:00 z komunikatem

Wiemy, że domyślna akcja zamykania systemu powoduje przejście komputera do stanu wstrzymania, a następnie do stanu wyłączenia. Możemy zmienić to zachowanie, przekazując mu inne opcje wiersza poleceń.

Opcja -H (zatrzymanie) przeniesie komputer do stanu wstrzymania, ale nie poprosi o wyłączenie sprzętu.
-P (wyłączanie zasilania) jest domyślną akcją. Komputer jest przywracany do stanu wstrzymania, a następnie wyłączany.
Opcja -r (reboot) przeniesie komputer do stanu zatrzymania, a następnie uruchomi go ponownie.
Opcja -h (zatrzymanie i wyłączenie) jest taka sama jak -P. Jeśli używasz razem -h i -H, opcja -H ma priorytet.
Opcja -c (anuluj) anuluje zaplanowane zamknięcie, zatrzymanie lub ponowne uruchomienie.

Oto przykład, w którym zaplanowaliśmy ponowne uruchomienie.

shutdown -r 08:20 System rebooting at 08:20

zamykanie planowania ponownego uruchomienia

Polecenia ponownego uruchomienia, zatrzymania i wyłączenia zasilania

Te polecenia wykonują akcję sugerowaną przez ich nazwę. Jednak każdy z nich zaakceptuje opcje wiersza poleceń, aby każdy z nich wykonał restart, zatrzymanie lub wyłączenie. Ale po co mylić sprawy? Polecenia te najlepiej stosować w wartości nominalnej.

Jeśli chcesz teraz zrestartować komputer, użyj reboot. Jeśli chcesz teraz wyłączyć zasilanie, użyj funkcji wyłączania, a jeśli chcesz teraz zatrzymać system, użyj zatrzymania.

reboot

polecenie ponownego uruchomienia w oknie terminala

halt

polecenie zatrzymania w oknie terminala

poweroff

polecenie poweroff w oknie terminala

Te polecenia mają natychmiastowy skutek. Jeśli którekolwiek z tych poleceń zostanie odrzucone, poprzedź je sudo. Ale pamiętaj, że odmowa jest zwykle spowodowana tym, że do systemu zalogowani są inni użytkownicy, których masz zamiar przełączyć do trybu offline.

Które polecenie jest dla mnie odpowiednie?

W środowiskach wielu użytkowników użycie funkcji zamykania do wykonywania tych czynności zapewnia większą kontrolę. W takich przypadkach nieoceniona będzie możliwość planowania wyłączeń i restartów oraz ostrzegania użytkowników za pomocą wiadomości rozgłoszeniowej. W przypadku komputera z jednym użytkownikiem ponowne uruchomienie i wyłączenie prawdopodobnie spełnią Twoje potrzeby.