Menu
Jest wolny
rejestracja
Dom  /  Rada/ Zamknij Linuksa z wiersza poleceń. Ponowne uruchamianie i wyłączanie komputera z wiersza poleceń Jak ponownie uruchomić Linuksa z konsoli

Zamykanie Linuksa z wiersza poleceń. Ponowne uruchamianie i wyłączanie komputera z wiersza poleceń Jak ponownie uruchomić Linuksa z konsoli

Polecenie shutdown w systemie Linux umożliwia zamknięcie, ponowne uruchomienie lub zaplanowanie zamknięcia systemu. W tym artykule wyjaśniono najczęstsze i przydatne przykłady komendy zamykania systemu w systemie Linux.

Składnia polecenia wyłączania

Zanim zobaczymy użycie polecenia shutdown, spójrzmy najpierw na jego składnię. zamknąć
  • opcje: możesz określić, czy chcesz zatrzymać, wyłączyć, ponownie uruchomić itp.
  • czas: możesz określić, kiedy wyłączyć
  • wiadomość: możesz wysłać niestandardową wiadomość do wszystkich zarejestrowanych użytkowników

Notatka

Polecenie shutdown wymaga uprawnień administratora. Dlatego musisz być rootem lub uruchomić polecenie za pomocą sudo.

5 praktycznych przykładów poleceń zamykania systemu Linux

Teraz, gdy znasz składnię polecenia shutdown, zobaczmy, jak z niego korzystać.

Jeśli po prostu użyjesz polecenia shutdown, proces zamykania rozpocznie się po jednej minucie. Dlatego pamiętaj, że domyślny odstęp czasu dla polecenia wyłączenia to jedna minuta.

Sudo shutdown Shutdown zaplanowany na poniedziałek 2018-11-19 23:46:21 UTC, użyj "shutdown -c", aby anulować.

Niczego niepodejrzewający użytkownicy Linuksa oczekują, że polecenie shutdown natychmiast zamknie system, ale kiedy widzą komunikat taki jak znacznik czasu UTC, często są zdezorientowani.

1. Natychmiastowe zamknięcie systemu.

Nie zawsze trzeba czekać minutę na zamknięcie systemu. Możesz natychmiast wyłączyć system, określając zaplanowany czas +0 lub teraz .

Wyłącz Sudo teraz

2. Zaplanuj zamknięcie systemu

Możesz zaplanować postój w przyszłości, określając argument czasu w formacie + t lub gg:mm.

Na przykład, jeśli chcesz zamknąć system po 20 minutach, możesz użyć tego polecenia:

Wyłączenie Sudo +20

Jeśli chcesz zamknąć system o godzinie 15:00, możesz go użyć w ten sposób:

Wyłączenie Sudo 15:00

Nie trzeba dodawać, że kluczowym czasem i strefą czasową jest czas systemowy.

Notatka

Pięć minut przed planowanym czasem zamknięcia system nie zezwoli na żadne logowanie. To znaczy, że Nowy użytkownik nie można zalogować się przez pięć minut po planowanym wyłączeniu.

3. Uruchom ponownie system za pomocą polecenia zamknięcia

Istnieje osobne polecenie ponownego uruchomienia, ale nie musisz się uczyć Nowa drużyna po prostu zrestartować system. Możesz użyć polecenia shutdown w systemie Linux, aby ponownie uruchomić komputer.

Aby ponownie uruchomić system za pomocą polecenia shutdown, użyj parametru -r.

Wyłączenie Sudo -r

Zachowanie jest takie samo jak w przypadku normalnego polecenia zamknięcia. Tyle, że zamiast zamykać system, uruchomi się ponownie.

Tak więc, jeśli użyłeś shutdown -r bez żadnych argumentów dotyczących czasu, uruchomi się ponownie za minutę.

Możesz zaplanować ponowne uruchomienie w taki sam sposób, jak podczas zamykania.

Wyłączenie Sudo -r +45

Możesz także natychmiast zrestartować system za pomocą polecenia shutdown:

Sudo wyłączanie -r teraz

4. Wysyłanie niestandardowej wiadomości

Jeśli jesteś w środowisku wielu użytkowników i zalogowanych jest wielu użytkowników, możesz wysłać im własną wiadomość rozgłoszeniową za pomocą polecenia shutdown.

Domyślnie wszyscy zarejestrowani użytkownicy zostaną powiadomieni o zaplanowanej przerwie i czasie. Możesz skonfigurować komunikat rozgłoszeniowy w samym poleceniu zamknięcia:

Sudo shutdown 15:00 "System zostanie zamknięty w celu aktualizacji sprzętu, zapisz swoją pracę."

Możesz użyć polecenia shutdown z opcją -k, aby zainicjować "fałszywe zamknięcie". Nie spowoduje to zamknięcia systemu, ale wiadomość rozgłoszeniowa zostanie wysłana do wszystkich zarejestrowanych użytkowników.

5. Anuluj zaplanowane zamknięcie

Jeśli zaplanowałeś zamknięcie, nie musisz z tym żyć. Zawsze możesz anulować zamknięcie za pomocą opcji -c.

Wyłączenie Sudo -c

A jeśli przekazałeś zaplanowany komunikat o zamknięciu jak dobry Administrator systemu, możesz również powiadomić innych użytkowników, aby anulowali zaplanowane zamknięcie.

Sudo shutdown -c "zaplanowane zamknięcie zostało anulowane"

Zatrzymaj a wyłącz zasilanie

Halt (opcja -H): kończy wszystkie procesy i wyłącza procesor,
Wyłączanie (opcja -P): Bardzo podobne do zatrzymania, ale wyłącza również samo urządzenie.

Historycznie rzecz biorąc, w przeszłości komputery były używane do zamykania systemu, a następnie wyświetlały komunikat „zamknij teraz normalnie”, a następnie komputery były wyłączane za pomocą fizycznych przełączników.

W dzisiejszych czasach zakończenie powinno automatycznie wyłączać zasilanie systemu dzięki obsłudze ACPI.

Były to najczęstsze i najbardziej przydatne przykłady polecenia shutdown w systemie Linux. Mam nadzieję, że nauczyłeś się zamykać system Linux.

Jeśli masz jakieś pytania lub sugestie, daj nam znać w sekcji komentarzy.

Streszczenie: opis typów restartów, historia o sysrq, ipt_SYSRQ, ipmi, psu.

Jak zrestartować serwer?- To jest pytanie, które jest zwykle zadawane przez bardzo początkujących użytkowników, którzy są zdezorientowani między zatrzymaniem, zamknięciem -r, ponownym uruchomieniem, init 6 itp.

Doświadczony administrator wyjaśni pytanie: „co jest nie tak z serwerem?” Różne rodzaje awarii serwera wymagają różne rodzaje restart - a niewłaściwie wybrana opcja doprowadzi do tragicznych konsekwencji, z których najłatwiej będzie odwiedzić stronę internetową IPMI/DRAC/iLO w celu „rebootu”. Najtrudniejszą rzeczą w mojej osobistej praktyce była podróż służbowa enikeyschika do sąsiedniego miasta. Aby "pchnąć restart" na samotnym serwerze.

W tym artykule: Co uniemożliwia ponowne uruchomienie serwera i jak mu pomóc.

Zacznijmy od teorii obalenia.

Po zamknięciu lub ponownym uruchomieniu serwera, menedżer inicjalizacji (w większości nowoczesnych dystrybucji - systemd, w ekscentrycznym Ubuntu 14.04 wciąż jest upstart, w archaicznych śmieciach - sysv-init) w określonej kolejności wysyła wszystkim demonom polecenie "shutdown". Większość demonów (np. DBMS, jak mysql) wie, jak poprawnie się zamknąć. Na przykład zakończ wszystkie transakcje, zapisz wszystkie niezapisane dane na dysku itp. W przypadku systemu DBMS w pamięci, takiego jak redis, może to być w ogóle krytyczne: jeśli go nie zapisałeś, to go zgubiłeś.

Stare systemy inicjujące czekały w nieskończoność na każdy ze skryptów inicjujących. Na przykład, jeśli "joker" dodał gałąź "sleep 3600" do twojego "stop", serwer uruchomi się ponownie na półtorej godziny. A jeśli jest większa liczba lub po prostu program, który nie chce się kończyć, restart nigdy się nie skończy.

Nowe systemy inicjujące (tak naprawdę nie wstydzimy się - pozostaje tylko systemd) dają pewien limit czasu (zwykle 120 lub 180 sekund) na zapisanie danych, po czym na siłę kończą proces. Oprócz zatrzymywania demonów, systemy plików są odmontowywane (czyli wszystkie pamięci podręczne bloków są usuwane), cele iscsi są zatrzymywane (również po upuszczeniu pamięci podręcznej) itp. Itd. Chociaż czas zamykania jest nieskończenie długi, to wszystko jest Plusem , jest przynajmniej nadzieja na poprawne ukończenie wszystkich demonów, usunięcie pamięci podręcznych plików itp.

Tak więc w zdrowym systemie poprawną odpowiedzią na pytanie „jak zrestartować komputer” jest wykonanie polecenia ponownego uruchomienia. W niektórych przypadkach nawet jedyny poprawny (poprawka: jeśli in interfejs graficzny wykonaj "reboot", środowisko graficzne pomyśli, że jest to awaryjne ponowne uruchomienie - aby ponownie uruchomić komputer z trybu graficznego, musisz użyć "reboot" w interfejsie DE).

Co może się nie udać w przypadku „regularnego restartu”? Cóż, po pierwsze, niektóre procesy demonów mogą zacząć się "tępić" - patrz wyżej.

Po drugie, może być problem z odmontowaniem systemy plików... Uważa się, że wystarczy "zabić" wszystkie procesy, a odmontowanie dysku będzie łatwe - nikt go nie używa. Ale delikatnie mówiąc, tak nie jest. Oto potencjalne metody „przybijania gwoździ bez odmontowywania”:

  • fallocate / fs / swap -l 1G;mkswap / fs / swap; swapon / fs / swap
  • dd if = / dev / sda of = / fs / obraz; kpartx / fs / obraz
  • losetup --find --show / fs / image
itp. W skrócie: plik może być zajęty nie tylko przez system plików, ale także przez jądro. A moduł w jądrze może być zajęty szukaniem odpowiedzi na temat sensu życia i nie ma zamiaru uwalniać zasobów.

Czym jest najeżona? Odmontowany system plików. Systemd w tej sytuacji próbuje-próbuje, a nawet rzuca (odmontowany system plików). Oznacza to, że ponowne uruchomienie w tej sytuacji będzie BARDZO długie, ale nadal minie. Ale dzieje się tak, jeśli umount zwraca błąd.

I tak się składa, że ​​umount nie może dokończyć operacji ze względu na to, że coś nie jest dostępne. Na przykład plik na serwerze nfs. Jeśli jakiś proces uzyskuje dostęp do takiego pliku, nie można go zakończyć (nawet z kill -9). A w tej sytuacji "reboot" po prostu rozłączy serwer. Ponownie, najbardziej typowe miejsca w systemd są "zakryte", ale prawdopodobieństwo natknięcia się na TASK_UNINTERRUPTIBLE ("D" w ps aux) jest nadal możliwe.
Co robić? Możliwe jest ponowne uruchomienie bez synchronizowania systemów plików i wykonywania jakichkolwiek czynności związanych z ponownym uruchomieniem -f. Ale może też powiesić. O przyczynach poniżej, ale na razie o konsekwencjach: wszystkie procesy nie są zatrzymywane i umierają natychmiast, sesje tcp nie są zamykane, pamięci podręczne dysków nie są opróżniane. Jednak jądro nadal wykonuje pewne ruchy w obszarze ponownego uruchamiania (i prawdopodobnie niektóre pamięci podręczne zostaną zresetowane). Najważniejsze jest to, że większość jądra będzie zaangażowana w proces ponownego uruchamiania. A to oznacza, że ​​jeśli rdzeń zachoruje, możemy już nie wrócić.

Druga, wyjątkowo nieprzyjemna sytuacja: problemy z systemem plików na / (w katalogu głównym). Każda próba wykonania ls, grep, a nawet "reboot" powoduje zawieszenie się konsoli lub błąd. Problemy z biblioteką libc (włącznie z jej usunięciem) należą do tej samej kategorii, gdy przy próbie „restartu” mówią o problemie z łączem i odmawiają zrobienia czegokolwiek. Albo osiągnęliśmy limit liczby pidów i wszystkie są w stanie „D”. Albo jakaś inna paskudna rzecz tego samego kalibru, należąca do kategorii „zły serwer”.

Zdarza się, że na serwerze pozostaje otwarta tylko jedna konsola (a druga już się nie otwiera). Czemu? Bo ktoś oszukał coś ze sterownikiem dysku. Albo kontroler rajdowy. Albo coś innego, po czym z „/” zostają tylko wspomnienia w pamięci podręcznej dysku. Oznacza to, że mamy tylko polecenia bash (wbudowane), które działają bez uruchamiania nowych procesów.

Istnieje metoda restartu, która nie wymaga wykonywania żadnych plików wykonywalnych (tj. odczytu z brakującego dysku). To jest (od roota): echo b> / proc / sysrq-trigger. Plik sysrq-trigger umożliwia „naciśnięcie” dowolnej kombinacji klawiszy SysRq (przyciski awaryjne jądra). Łącznie z SysRq-b, czyli awaryjnym „rebootem”. Często zdarza się, że po wciśnięciu enter, wysunięcie wiersza nawet nie pojawia się na czas - serwer jest już w trakcie restartu przed powrotem syscall. To najsilniejsze oprogramowanie, które jest do odparcia.
Uwaga: to, co wydaje się być poprawne w tej sytuacji, to „synchronizacja, ponowne uruchomienie”, czyli SysRq-s, SysRq-B jest błędem, ponieważ po SysRq-S jądro może próbować rozpocząć rozmowę z pustym zestawem i potencjalnie wpaść w panikę lub zerwać ostatnią dostępną konsolę. Jeśli nastąpi awaryjne ponowne uruchomienie, musi to być awaryjne

ipt_sysrq

To wszystko działa, jeśli masz konsolę na serwerze. A jeśli logowanie się zawiesza i nie ma otwartej konsoli? Istnieje moduł ipt_SYSRQ, który umożliwia wykonywanie żądań sysrq w celu odebrania określonego pakietu sieciowego (a dokładniej zgodnie z regułą iptables). Działa całkowicie w jądrze, tj. nie zależy od FS. Do niego dołączona jest również komenda send_sysrq.

stróż za stróża

Można by pomyśleć, że to „wszystko”, ale są jeszcze bardziej nieprzyjemne zamarznięcia. Na przykład zawieszony Karta sieciowa... A zwykły restart (w tym przez sysrq) nie pomaga. Drugim przykładem tak złej sytuacji jest zamrażanie obudowy, które utknęło na uszkodzonym dysku i ignoruje wszystkie resety magistrali. Ponowne uruchomienie wydaje się zresetować wszystko, a dyski są niedostępne.

W takim przypadku potrzebujemy cyklu zasilania (włącz / wyłącz). Fizycznie bieganie na serwer nie jest ciekawe, więc można przyjrzeć się możliwościom nowoczesnych serwerów: IPMI. Jest to wbudowany mikrokomputer, który umożliwia sterowanie „dużym” komputerem. Zwykle nazywa się IPMI, DRAC, iLO itp.

Zespół, który nas interesuje: cykl zasilania podwozia ipmitool. Jest to bardziej wymagające pod względem wydajności systemu (musi być załadowane moduły jądra, sam ipmitool musi się pomyślnie uruchomić, ipmi musi działać, itp.). Ale z drugiej strony pozwala zniekształcić odżywianie wszystkich. Dokładniej, prawie wszyscy - jeśli serwer ma jbody, to ta komenda do nich nie dociera, ale mimo to jest to bardzo solidny i dobry restart.

Jeśli jądro jest całkowicie chore, polecenie można wykonać zdalnie (cykl zasilania ipmitool -H ipmi.server.local chassis)

Inną trudną sytuacją jest zamrożenie ipmi. Jeśli system jest nadal mniej lub bardziej żywy, możesz "zrestartować ipmi": ipmitool mc reboot hard. Następnie możesz wykonać cykl zasilania podwozia. Brzmi to dziwnie, ale kilka razy w życiu "wciągałem" serwer do normalnego restartu właśnie taką sekwencją. ( Po twardym restarcie mc musisz poświęcić kilka minut na załadowanie BMC).

Kolejny punkt „bólu” to wiszące zasilacze. Tak, zdarza się. Błędy w oprogramowaniu układowym zasilaczy są naprawione, należy je sflashować. Oczywiście wszelkie miękkie restarty (takie jak cykl zasilania ipmi) nie działają w tej sytuacji. Musisz albo fizycznie popchnąć kabel, albo zdalnie zniekształcić zasilanie. W takiej sytuacji pomaga gniazdo IP.

Wygląda to mniej więcej tak (fragment panelu sterowania dla servers.com/servers.ru):

Oczywiście w tych warunkach ponowne uruchomienie nastąpi zgodnie z bardzo trudnym scenariuszem, ale na pewno minie.

Ten artykuł jest skierowany do większości nowicjuszy Linuksa i tych, którzy są zainteresowani ponownym uruchomieniem Linuksa z konsoli. Dla mnie ponowne uruchomienie komputera w terminalu lub korzystanie z interfejsu graficznego to elementarne, ale to podstawa, nie wszyscy początkujący o tym wiedzą i muszę o tym napisać.

Dzisiaj przyjrzymy się takim kwestiom, jak polecenie restartu systemu Linux z konsoli, zdalne ponowne uruchomienie i bezpośrednie ponowne uruchomienie w GUI. Zacznijmy od prostego restartu systemu.

Mówiąc to, co może być prostsze. Rozważ najpierw ponowne uruchomienie Ubuntu Unity. Wystarczy kliknąć przycisk z kołem zębatym w prawym górnym rogu ekranu i wybrać element Zamknąć:

Następnie w oknie, które się otworzy, kliknij element:

W środowisku graficznym Gnome wszystko jest bardzo podobne do Unity, ale w KDE musisz otworzyć menu główne, przejść do zakładki wyjście i wybierz przedmiot przeładować:

Następnie potwierdź ponowne uruchomienie.

I tutaj zakres jest znacznie szerszy, istnieje kilkanaście poleceń, których można użyć do ponownego uruchomienia Linuksa. Niektóre wymagają uprawnień administratora, inne nie, niektóre wyglądają na proste i łatwe do zapamiętania, a inne są długie i złożone. Przyjrzymy się im wszystkim poniżej.

Pierwsza komenda restartu Linuksa, najczęstsza i najprostsza:

Jak widać, narzędzie potrzebuje uprawnień administratora. Po naciśnięciu klawisza Enter komputer natychmiast uruchomi się ponownie.

Narzędzie do zamykania, które służy do zamykania, umożliwia również ponowne uruchomienie komputera; w tym celu należy przekazać do niego parametr -r. Dodatkowo możesz także określić czas ponownego uruchomienia. Teraz - 0 lub teraz, po minucie +1 po dwóch - +2 i tak dalej:

wyłączenie sudo -r +1

W systemach init kompatybilnych z Init Scripts występowały poziomy obciążenia systemu - 0,1,2,3,4,5,6, poziom 0 oznaczał wyłączenie, 6 restartów, reszta trybów pracy systemu nas nie interesuje teraz. Możesz przełączać się między poziomami za pomocą polecenia init. Tylko znowu potrzebujesz uprawnień administratora. Zatem:

Usługa wiadomości dbus system może również ponownie uruchomić komputer:

/usr/bin/dbus-send --system --print-reply --dest = "org.freedesktop.ConsoleKit" / org / freedesktop / ConsoleKit / Manager org.freedesktop.ConsoleKit.Manager.Restart

Nie potrzebujesz już praw administratora. One były konwencjonalne sposoby Linux uruchamia się ponownie, ale jest jeszcze jeden, niestandardowy lub nawet dwa. To są magiczne klucze SysRq. Jądro Linuksa monitoruje naciskanie określonych skrótów klawiaturowych i reaguje na nie. Najpierw włącz obsługę sysrq:

echo 1> / proc / sys / jądro / sysrq

Lepiej zrobić to wcześniej, ponieważ ta metoda jest przydatna, gdy system jest zamrożony i nie reaguje na nic:

nano /etc/sysctl.conf

kernel.sysrq = 1

Aktywować SysRq skróty przytrzymaj Alt + SysRq i naciśnij kod klawisza. W przypadku normalnego ponownego uruchomienia zalecana jest następująca sekwencja: R E I S U B, naciskaj klawisze w tej samej kolejności w odstępach około sekundy.

  • r- zwraca kontrolę nad klawiaturą, jeśli serwer X został nieprawidłowo zakończony;
  • mi- jądro wysyła sygnał SIGTERM do wszystkich procesów poza init;
  • i- wysyła sygnał SIGKILL do wszystkich procesów z wyjątkiem init;
  • S- jądro synchronizuje systemy plików, wszystkie dane z pamięci podręcznej są przesyłane na dysk twardy;
  • U- ponownie montuje wszystkie systemy plików w trybie tylko do odczytu;
  • b- natychmiastowy restart, brak synchronizacji i dodatkowe przygotowania.

Przed ponownym uruchomieniem system czeka na zakończenie wszystkich procesów, zatrzymuje wszystkie usługi oraz odmontowuje i montuje systemy plików w trybie tylko do odczytu. To właśnie robimy, naciskając kolejno te skróty klawiaturowe. Ale jeśli potrzebujesz teraz zrestartować system bez czekania na zamknięcie wszystkich procesów, na przykład serwera, możesz natychmiast wysłać sygnał B. W ten sposób: Alt + SysRq + B.

SysRq można używać bez skrótów klawiaturowych, pisząc wymagany kod operacje na pliku / proc / sysrq-trigger:

echo b> / proc / sysrq-trigger

System zostanie ponownie uruchomiony bez zatrzymywania usług i przygotowywania systemów plików, więc niezapisane dane mogą zostać utracone, a system plików zostanie uszkodzony.

Jeśli masz dostęp do serwera przez ssh, możesz bardzo łatwo zrestartować linuxa zdalnie za pomocą jednego z powyższych poleceń, na przykład:

cisza [e-mail chroniony]/ sbin / restart

Ale znowu, do tej operacji musisz mieć prawa roota na zdalnym serwerze.

wnioski

Teraz wiesz, jak zrestartować linuxa, wiesz nawet, jak zrestartować serwer przez ssh. Jeśli masz jakieś pytania, pytaj w komentarzach!

Powiązane wpisy:


Polecenie shutdown bezpiecznie zamyka system. Wszyscy zalogowani użytkownicy otrzymują powiadomienie, że system jest zamykany, a operacje logowania są zablokowane. Możesz wyłączyć system natychmiast lub po określonym opóźnieniu.

Wyłączanie Linuksa z wiersz poleceń jest bardzo wygodne, a wielu użytkowników systemu kontroluje swój komputer za pomocą wiersza poleceń w takich sprawach. Wszystkie procesy są najpierw powiadamiane o przygotowaniu systemu do uśpienia lub ponownego uruchomienia za pośrednictwem SIGTERM. Daje to programom takim jak vi czas na zapisanie edytowanego pliku, programy obsługi poczty i grup dyskusyjnych, możliwość wylogowania się i tak dalej.

Shutdown wykonuje swoje zadanie, sygnalizując init zmianę poziomu pracy. Runlevel 0 służy do zatrzymania systemu, Runlevel 6 jest używany do ponownego uruchomienia systemu, a Runlevel 1 jest używany do wprowadzenia systemu w stan, w którym można wykonywać zadania administracyjne (tryb pojedynczego użytkownika). Domyślny poziom działania to 1, chyba że określono opcje -h lub -r.

Twój system może mieć inny zestaw parametrów dla polecenia zamknięcia; Sprawdź dokumentację urządzenia.

Wyłączanie Linuksa z wiersza poleceń

zamknij [-akrhPHfFnc] [-t sek] czas [wiadomość]

  1. -a Kontroluj dostęp do polecenia zamknięcia za pomocą pliku kontroli dostępu /etc/shutdown.allow. Otrzymać Dodatkowe informacje patrz sekcja Kontrola dostępu poniżej.
  2. -k Nie zamykaj systemu, ale wysyłaj ostrzeżenia tak, jakby zamknięcie było prawdziwe.
  3. -h Nakazuje systemowi zamknięcie, a następnie zatrzymanie.
  4. -P Nakazuje systemowi zamknięcie, a następnie zamknięcie.
  5. -H Jeśli podano opcję -h, ta opcja określa, że ​​system powinien uruchomić się z monitorem rozruchu w systemach, które go obsługują.
  6. -f Pomiń fsck po restarcie.
  7. -F Wymuś fsck po restarcie.
  8. -n Nie wywołuj init w celu zakończenia procesów; Poinstruuj zamknięcie, aby zrobiło to samodzielnie.
  • Ta opcja nie jest zalecana, a jej wyniki nie zawsze są przewidywalne.
  1. -c Anuluj oczekiwanie na zamknięcie. (Nie dotyczy to "zamknij teraz", które nie czeka do zamknięcia.) Nie możesz określić argumentu czasu za pomocą tej opcji, ale możesz określić komunikat wyjaśniający, który zostanie wysłany do wszystkich użytkowników.
  2. T sek... Powiedz inicjatorowi, aby odczekał kilka sekund między wysłaniem ostrzeżenia i sygnału „zabicia”, zanim przejdzie na inny poziom działania.
  3. czas Argument time określa, kiedy wykonać operację zamknięcia.

Czas można sformatować na różne sposoby:

Po pierwsze, może to być czas bezwzględny w formacie hh: mm, gdzie hh to godzina (1 lub 2 cyfry, od 0 do 23), a mm to minuta godziny (dwie cyfry).

Po drugie, może być w formacie + m, gdzie m to liczba minut oczekiwania.

Ponadto słowo jest teraz tym samym, co wskazuje +0; Natychmiast wyłącza system.

  1. Wiadomość. Wiadomość wysłana do wszystkich użytkowników wraz ze standardowym powiadomieniem o zamknięciu.

Detale

Jeśli zamknięcie jest zaplanowane na przyszłość, utworzy plik doradczy /etc/nologin, który zmusza programy takie jak login, aby nie zezwalały nowym użytkownikom. Ten plik jest generowany pięć minut przed rozpoczęciem sekwencji zamykania. Shutdown usuwa ten plik, jeśli zostanie zatrzymany, zanim zdąży zasygnalizować inicjalizację (tzn. został anulowany lub coś poszło nie tak). Usuwa go również przed wywołaniem init w celu zmiany poziomu działania.

Flaga -f oznacza "szybkie ponowne uruchomienie". Tworzy to tylko plik doradczy / fastboot, który może zostać sprawdzony przez system, gdy pojawi się ponownie. Systemowy plik rc („rc” oznacza „runcom”, co jest skrótem od „polecenia uruchamiania”) może sprawdzić obecność tego pliku i zdecydować o nieuruchamianiu fsck, ponieważ system został poprawnie zamknięty. Następnie proces uruchamiania powinien usunąć / fastboot.

Flaga -F oznacza „force fsck”. Tworzy to tylko plik doradczy / forcefsck, który może zostać sprawdzony przez system, gdy pojawi się ponownie. Plik rozruchowy rc może sprawdzić, czy plik jest obecny i decyduje o uruchomieniu fsck ze specjalną flagą „force”, aby sprawdzić, czy systemy plików są poprawnie odmontowane. Następnie proces uruchamiania powinien usunąć / forcefsck.

Flaga -n sprawia, że ​​shutdown nie wywołuje init, ale zabija wszystko uruchomione procesy... Zamknięcie wyłączy przydział, rozliczanie i swapy oraz odmontuje wszystkie systemy plików.

Kontrola dostępu

Shutdown można wywołać z init po naciśnięciu CTRL-ALT-DEL, jeśli odpowiedni wpis istnieje w / etc / inittab. Oznacza to, że każdy, kto ma fizyczny dostęp do klawiatury konsoli, może zamknąć system.

Aby temu zapobiec, zamknięcie może sprawdzić, czy autoryzowany użytkownik jest zalogowany. Jeśli shutdown zostanie wywołany z argumentem -a (dodaj go do wywołania zamknięcia w /etc/inittab), sprawdza, czy plik / etc /shutdown.allow jest obecny. Następnie porównuje loginy w tym pliku z listą osób, które są zalogowane w konsola wirtualna(z / var / run / utmp). Tylko jeśli jeden z autoryzowanych użytkowników lub root jest zalogowany, odniesie skutek. W przeciwnym razie napisze wiadomość

Zamknięcie: żaden autoryzowany użytkownik nie jest zalogowany

Do fizycznej konsoli systemu. Format /etc/shutdown.allow to jedna nazwa użytkownika na linię. Dozwolone są puste wiersze i wiersze komentarza (z przedrostkiem #). Ten plik ma obecnie limit 32 użytkowników.

Zauważ, że jeśli brakuje /etc/shutdown.allow, argument -a jest ignorowany.

Wyłączanie Linuksa i włączanie komputera

Opcja -H po prostu ustawia inicjującą zmienną środowiskową INIT_HALT na HALT, a opcja -P po prostu ustawia tę zmienną na POWEROFF. Skrypt zamykający, który wywołuje halt jako ostatnią rzecz w sekwencji zamykania, powinien to sprawdzić Zmienne środowiska i zadzwoń do zatrzymania z prawidłowe parametry aby te parametry rzeczywiście miały jakiś wpływ.

Pliki

  • / szybki start
    / etc / inittab
    /etc/init.d/halt
    /etc/init.d/reboot
    /etc/shutdown.allow

Zamykanie Linuksa z wiersza poleceń: przykłady

Zaplanuj zamknięcie systemu na 8 rano.

Zaplanuj zamknięcie systemu na 20:00.

shutdown +15 "Aktualizacja sprzętu, czas przestoju powinien być minimalny"

Zaplanuj zamknięcie systemu za piętnaście minut. Wraz ze zwykłym powiadomieniem o zamknięciu systemu użytkownicy otrzymają opisowy komunikat o aktualizacji sprzętu.

Natychmiast wyłącz Linuksa

Natychmiast wyłącz system i uruchom ponownie automatycznie.

Zamknij i automatycznie wyłącz system natychmiast.

Powiązane polecenia

  • Zatrzymaj — zatrzymaj komputer.
  • Wyłączanie — zatrzymaj komputer.
  • Uruchom ponownie — zatrzymaj komputer.
  • Ściana — wyślij wiadomość do wszystkich zalogowanych użytkowników.

Tłumaczenie ze wspaniałego angielskiego zasobu komputerowa.

Jeśli nadal masz jakieś pytania na temat „Zamykanie Linuksa z wiersza poleceń”, możesz napisać je do nas w formularzu komentarzy na stronie.

Jeśli znajdziesz błąd, wybierz fragment tekstu i naciśnij Ctrl + Enter.

Zobaczmy, jak ponownie uruchomić lub wyłączyć komputer z wiersza poleceń. Używam tego, gdy podczas instalacji sterownika lub przy dużym obciążeniu procesora interfejs przestaje reagować na moje działania (choć zdarza się to bardzo rzadko). Za pomocą wiersza poleceń można zabić „żarłoczny” proces, ale nie zawsze wiadomo, który to proces szybka decyzja jest to ponowne uruchomienie komputera.

Od czasu do czasu konieczne jest zdalne ponowne uruchomienie lub wyłączenie system operacyjny uruchamianie Linuksa z wiersza poleceń. Możesz to zrobić różne sposoby, wtedy je rozważymy.

Wszystkie wymienione poniżej polecenia muszą być wykonywane pod kontem użytkownika root.

Opcje ustawiają parametry wyłączania, omówimy je poniżej. Czas można ustawić w formacie gg:mm w formacie 24-godzinnym. Możesz również użyć wpisu + minuty, wskazującego ile minut od aktualnego momentu musisz wyłączyć komputer z systemem Linux. Ponadto dostępna jest stała now, co wskazuje, że musisz natychmiast wyłączyć. Polecenie wyłączenia, źródło -h.

Jak widać, używane jest zwykłe zamknięcie, a stała czasowa to teraz, czyli teraz. Teraz spróbujmy zaplanować wyłączenie komputera z systemem Linux za pięć minut:

sudo shutdown -h +5 "PC wyłączy się za 5 minut"

Polecenia stop i poweroff służą do zamykania systemu. Początkowe polecenie zamyka system, ale nie wyłącza systemu. Zobaczysz komunikat „System jest zatrzymany” wskazujący, że można wyłączyć zasilanie. To polecenie jest przeznaczone dla starszych komputerów, które nie obsługują przyrostowego zarządzania energią. Drugi (wyłączenie) wyłącza system ( zestaw elementów, które pozostają ze sobą w relacjach i połączeniach, co tworzy pewną integralność, jedność) i wyłącza zasilanie.

Wyłączanie Linuksa z zatrzymaniem

Polecenie jest identyczne z poleceniem ponownego uruchomienia w swoich działaniach, różnica polega na tym, że polecenie zatrzymania wyłącza system. Ponadto komputer można wyłączyć, uruchamiając brygadę:

Użycie zatrzymania może uszkodzić system!

To polecenie również wyłącza komputer. Tylko ona robi to po swojemu. Nie wykonuje żadnych czynności przygotowawczych przed wyłączeniem, a jedynie wyłącza zasilanie.

Wyłączanie Linuksa z wyłączeniem zasilania

Polecenie wyłączania jest podobne do polecenia zatrzymania, z tą różnicą, że po zatrzymaniu systemu do systemu zarządzania zasilaniem wysyłane jest specjalne żądanie wyłączenia zasilania, co umożliwia zdalne wyłączenie systemów. Możesz także użyć:

Zamykanie Linuksa za pomocą telinitu 0

Za pomocą tego polecenia możesz powiedzieć demonowi init, aby przeszedł do określonego poziomu działania, a mianowicie liczba 0 wskazuje, że musisz przejść do poziomu 0 (zamknięcie systemu). Brygada telinitu nie obsługuje komunikatów o przerwach i ostrzeżeniach. Zwykle używane podczas testowania zmian wprowadzonych w pliku inittab.

Wyłącz Linuksa z wiersza poleceń bez sudo

Ewentualnie przez dbus i ConsoleKit. Można nim sterować przez dbus. Tylko że teraz wydaje się, że wszędzie go piłują.

ConsoleKit jest takim demonem obsługującym sesje użytkowników.

Jeśli masz system, hokus pokus nie zadziała. Może eksperci wpadną i powiedzą Ci, jak to zrobić przez login.

dbus-send --system --print-reply --dest = "org.freedesktop.ConsoleKit" / org / freedesktop / ConsoleKit / Manager org.freedesktop.ConsoleKit.Manager.Stop

To wszystko, omówienie głównych sposobów zamykania i ponownego uruchamiania Systemy Linux z wiersza poleceń zakończone. Teraz wiesz już wszystko, co musisz wiedzieć o tym, jak zamknąć Linuksa przez terminal. Jeśli zaskoczy Cię literówka lub zawieszenie komputera, wiesz, co robić.