Komputery ze współczesnym światem

Zamknij system Linux z wiersza poleceń. Linux: ponowne uruchamianie i zamykanie systemu Debian polecenie shutdown

Wydawałoby się, co może być łatwiejszego? Wszystko, co musisz zrobić, to wyłączyć lub ponownie uruchomić serwer Linux. Aby wyłączyć, wystarczy wpisać polecenie

sudo zamknij -h teraz

Uruchomić ponownie

Sudo zamknij -r teraz

Sudo restart

Wydarzenia te, nawet pod względem technicznym (nie dotykając towarzyszących im kwestii organizacyjnych), tylko na pierwszy rzut oka mogą wydawać się proste. Ale doświadczeni administratorzy systemów wiedzą, że w przypadku każdego systemu operacyjnego nawet regularne i prawidłowe ponowne uruchomienie może prowadzić do negatywnych konsekwencji. Wynika to w dużej mierze z jakości obsługi i eksploatacji poprzedzającej ponowne uruchomienie. Dlatego musisz zrozumieć, że najczęstszym restartem lub zamknięciem systemu Linux. Bez przesady są to działania dość odpowiedzialne i administratorzy powinni zawsze o tym pamiętać.

Ponowne uruchamianie i zamykanie systemu – dlaczego jest takie ważne?

Systemy operacyjne Linux są zaufane do pracy, co powinno zapewnić długotrwałą i niezawodną pracę złożonych jednostek, instalacji technologicznych, serwerów bazodanowych (DB), serwerów WWW itp., z których korzysta duża liczba użytkowników, operatorów i konserwatorów personel. Zamykanie i ponowne uruchamianie jest nieuniknione dla każdego systemu. Ale te czynności powinny być przeprowadzane przy minimalnym ryzyku. Zarówno dla zadań wykonywanych przez serwery, jak i dla użytkowników.

Kiedyś UNIX i Linux były dość wrażliwe na restarty. Jednak wraz z pojawieniem się wysoce niezawodnych systemów plików z dziennikiem (FS) zamykanie lub ponowne uruchamianie stało się znacznie bezpieczniejsze. Jednak możliwość uszkodzenia konfiguracji lub samego systemu operacyjnego w wyniku nieprawidłowego wyłączenia komputera (lub serwera) nie jest całkowicie wykluczona. Na przykład nienormalne wyłączenie serwerów bazodanowych bardzo często prowadzi do naruszenia integralności danych i uszkodzenia tabel. Nie ma znaczenia, jaki system zarządzania bazami danych (DBMS) jest używany do ich obsługi. Problemy pojawiające się w Linuksie są zazwyczaj dość trudne do wykrycia. Ponieważ cechy architektoniczne samego Linuksa pozwalają mu działać nawet w obecności złożonych kolizji. Ale kiedy przychodzi czas na ponowne uruchomienie systemu operacyjnego, często te ukryte problemy pojawiają się natychmiast. Któremu często towarzyszy upadek.

Doświadczeni administratorzy systemów wiedzą, że po wprowadzeniu jakichkolwiek zmian w systemie, takich jak modyfikacja skryptów startowych, konfiguracja poszczególnych komponentów itp., bardzo pożądane jest ponowne uruchomienie, aby upewnić się, że system działa normalnie po tych zmianach. Cóż, koniecznie sprawdź, aby nie przegapić pojawienia się ukrytych i złożonych problemów. Jednocześnie trzeba pamiętać, że problemy mogą nie pojawić się od razu i nawet po kilku tygodniach – wpływa na to wiele czynników i wszystko zależy od konkretnej sytuacji.

polecenie wyłączenia

To polecenie umożliwia bezpieczne i technicznie „poprawne” ponowne uruchomienie, zatrzymanie systemu operacyjnego lub przeniesienie go do trybu pojedynczego użytkownika. Dla różne systemy zespół zamknięcie ma inną specyfikację dotyczącą składni i opcji, więc dobrze jest przejrzeć ją ogólnie, dotykając tylko niektórych szczegółów użycia.

Ponieważ zdarzenia takie jak ponowne uruchamianie i zamykanie często wpływają na wielu użytkowników, administratorzy systemu konieczna jest możliwość wcześniejszego ostrzeżenia ich o tych działaniach przed ich wykonaniem. Zespół zamknięcie pozwala to zrobić poprzez dodanie puz, podczas którego do użytkowników wysyłane są wiadomości o zbliżającym się zdarzeniu (wyłączeniu lub restarcie). Domyślnie wiadomości te są wysyłane w krótszych odstępach czasu i zawierają tekst o charakterze zbliżającego się wydarzenia, dla którego wskazany jest również pozostały czas. W razie potrzeby administrator może ustawić dowolny tekst wiadomości w zależności od sytuacji. Oczywiście po wykonaniu zamknięcia użytkownicy nie będą mogli się zalogować, ale przez cały czas będą widzieć komunikat informacyjny podany za pomocą polecenia zamknięcie.

Charakter czynności do wykonania zamknięcie jest ustawiany za pomocą parametrów i mogą to być:

  • normalny przystanek;
  • nastąpił normalny przystanek automatyczny start(ponowne uruchomienie);
  • przejście do trybu pojedynczego użytkownika;
  • niektóre inne powiązane działania (w zależności od systemu), takie jak sprawdzanie urządzeń pamięci masowej za pomocą polecenia .

W tym drugim przypadku sprawdzanie fsck można wymusić, bo domyślnie we współczesnych systemach operacyjnych ten czek jest wykonywany automatycznie podczas uruchamiania tylko w przypadku nieprawidłowego odmontowania systemów plików.

W poniższej tabeli wymieniono główne opcje zamknięcie dla niektórych systemów Linux:

System Ścieżka R H S F
Linuks /sbin/zamknij -R -H -F
Solaris /usr/sbin/zamknij -i6 -i0 -Jest
HP-UX /etc/zamknij -R -H
AIX /sbin/zamknij -R -H -M

Dla tego systemu używane są następujące symbole: R - restart, H - normalne zatrzymanie, S - kontynuuj w trybie pojedynczego użytkownika, F - wyłącz sprawdzanie fsck(dotyczy tylko SUSE i Red Hat).

Aby zatrzymać Linuksa o 8:30 (na przykład w celu przeprowadzenia prac konserwacyjnych na konserwacja serwerów) z powiadomieniem dla użytkowników, uruchom następujące polecenie:

$ sudo shutdown -h 08:30 "Uwaga! Od 08:30 do 13:00 są Prace konserwacyjne. Przepraszamy za niedogodności."

Jeśli chcesz ustawić względny czas zatrzymania/ponownego uruchomienia:

$ sudo shutdown -h +30 "Uwaga! Trwa konserwacja."

polecenia zatrzymania i ponownego uruchomienia

Polecenia te należy rozpatrywać w kontekście faktu, że chociaż mogą być używane niezależnie od siebie, zwykle są wywoływane przez to samo polecenie. zamknięcie.

Kiedy wezwano postój wykonywane są wszystkie podstawowe kroki niezbędne do normalnego zamknięcia systemu operacyjnego. Na przykład wszystkie procesy niekrytyczne są najpierw kończone, w dzienniku zapisywany jest komunikat o zamknięciu, a następnie wykonywane jest wywołanie systemowe synchronizacji i czeka na zwolnienie urządzeń pamięci masowej z operacji zapisu. Następnie praca jądra systemu zatrzymuje się.

Jedna z ważnych opcji postój jest kluczem -N. Wyłącza wywołanie systemowe synchronizacja aby jądro nie przywracało „starych” obrazów partycji głównej przechowywanych w pamięci podręcznej. Innymi słowy, stop-rz używany po przywróceniu partycji za pomocą .

Zespół ponowne uruchomienie różni się od postój tylko przez fakt, że domyślnie uruchamia się ponownie. Można go jednak użyć do wykonania kilku przydatnych czynności przed ponownym uruchomieniem systemu. Na przykład nie można wysyłać wiadomości o zbliżającym się restarcie (warto zaznaczyć, że nie zawsze jest to przydatne…) do użytkowników korzystających z klucza --teraz wszystko. Jeśli potrzebujesz tylko nagrać zdarzenie w pliku /var/log/wtmp(ten plik rejestruje wszystkie zdarzenia wejścia i wyjścia w systemie operacyjnym), musisz użyć klucza -w(Lub --wtmp-tylko) i ponowne uruchomienie nie nastąpi. Aby wykonać przeładowanie bez zapisywania do pliku /var/log/wtmp, jest klucz -D(Lub --no-wtmp). Również z komendą ponowne uruchomienie możliwe jest zatrzymanie systemu i wyłączenie maszyny za pomocą klawiszy -postój I -P (--wyłączenie) odpowiednio. Klucz służy do wymuszonego i natychmiastowego ponownego uruchomienia. -f (--siła). W większości systemów wszystkie przełączniki opisane dla polecenia ponowne uruchomienie zastosować się do polecenia postój z tym samym znaczeniem.

Jeśli znajdziesz błąd, zaznacz fragment tekstu i kliknij Ctrl+Enter.

Wyłączenie komputera to czynność, z którą zwykli użytkownicy stykają się niemal codziennie. Jeśli musisz dość rzadko wyłączać serwer, to zwykłe komputery stacjonarne bardzo często poddawane są tej operacji. Większość użytkowników wyłącza Linuksa w GUI systemu. W środowisku graficznym KDE odbywa się to za pomocą menu głównego, a Gnome i Unity mają nawet dedykowany przycisk paska narzędzi do tego zadania.

Ale nie zawsze jest możliwe wyłączenie komputera z systemem Linux w ten sposób. Na przykład, jeśli środowisko pulpitu nie działa, nie pozostaje nic innego, jak tylko zamknąć komputer wiersz poleceń. Ponadto wyłączenie komputera z systemem Linux za pośrednictwem terminala jest jedynym rozwiązaniem możliwy sposób dla serwerów, na których nie ma GUI. Jak zobaczysz, ta metoda jest również znacznie bardziej elastyczna niż zwykłe wyłączenie, ponieważ możesz ustawić żądany czas wyłączenia lub możesz wyłączyć komputer do zakończenia określonego programu.

Polecenie shutdown służy do zamykania komputera z systemem Linux. Istnieją również polecenia wyłączenia zasilania, zatrzymania, ale dotyczą one niestandardowych przypadków. Zwykle wystarczy tylko jedno wyłączenie. Możesz także wyłączyć Linuksa z konsoli za pomocą skrótów klawiaturowych SysRq. Ale najpierw spójrzmy na składnię polecenia shutdown.

Składnia polecenia jest bardzo prosta:

$ zamknięcie [opcje] [czas] [wiadomość]

Opcje ustawiają parametry wyłączania, omówimy je poniżej. Czas można ustawić w formacie hh:mm w formacie 24-godzinnym. Możesz także użyć wpisu +minutes, aby wskazać, za ile minut od bieżącego momentu chcesz wyłączyć komputer z systemem Linux. Dostępna jest również stała now, wskazująca, że ​​należy ją teraz wyłączyć.

Parametr message pozwala na określenie komunikatu, który będzie wyświetlany w terminalu przed zamknięciem.

Opcje

  • --pomoc- pokaż pomoc programu
  • -H, --zatrzymaj się- wyłączanie bez kończenia procesów lub ponownego montowania systemy plików
  • -P, --wyłączone- normalne wyłączenie
  • - k- nie wykonują rzeczywistych działań, a jedynie wyświetlają komunikat
  • --teraz wszystko- wyłącz komputer, ale nie wyświetlaj komunikatu
  • -C- anuluj zaplanowane zamknięcie systemu Linux z wiersza poleceń

To w zasadzie wszystkie opcje narzędzia, jest ich więcej niż wystarczająco prosta czynność. Teraz możemy przejść do przykładów, ale najpierw przyjrzyjmy się, co dzieje się podczas uruchamiania Linuksa.

Proces zamykania Linuksa

Oczywiście polecenie shutdown linux lub jakiekolwiek inne polecenie nie powoduje automatycznego zamknięcia systemu i wyłączenia komputera. Po prostu przekazuje żądanie zamknięcia do systemu init, a następnie do jądra. I już wykonują szereg skomplikowanych operacji, aby przygotować i wyłączyć komputer. W skrócie, oto one:

  • Procesy użytkowników końcowych
  • Sygnał SIGTERM do wszystkich procesów
  • Zasygnalizuj SIGKILL wszystkim procesom
  • Montowanie systemów plików w trybie tylko do odczytu
  • Przygotowanie urządzenia zewnętrzne wyłączyć
  • Blokada przestrzeni użytkownika, aby upewnić się, że nie zostanie uruchomiony żaden kod użytkownika
  • Wyłącz i wyłącz większość urządzeń peryferyjnych
  • Wyłącz komputer

Teraz rozumiesz istotę procesu wyłączania i dlaczego nie możesz po prostu odłączyć przewodu zasilającego od gniazdka. W takim przypadku komputer natychmiast się wyłączy i nie wykona wszystkich niezbędnych operacji, co może grozić utratą niezapisanych lub nawet niedawno zapisanych danych, uszkodzeniem systemu plików itp. Dlatego wskazane jest wyłączenie komputera prawidłowo przy użyciu funkcji zamykania lub innych specjalnych narzędzi.

Przejdźmy teraz do przykładów.

Wyłączanie komputera w systemie Linux

1. zamknij się

Najprostsze i najczęściej używane polecenie zamknięcia komputera z systemem Linux natychmiast wyłączy komputer:

sudo zamknij -h teraz

Jak widać, używane jest zwykłe wyłączenie, a stała czasowa to teraz, to znaczy teraz.

Teraz spróbujmy zaplanować wyłączenie komputera z systemem Linux za pięć minut:

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

Zaplanowaliśmy wyświetlenie komunikatu przed wyłączeniem.

Teraz cofnijmy wyłączenie komputera z systemem Linux:

sudo zamknięcie -c

W ten sam sposób możemy określić dokładny czas wyłączenia, np. o dziewiątej wieczorem:

sudo zamknięcie -h 21:00

Jak powiedziałem, nie tylko polecenie shutdown linux może wyłączyć komputer, istnieje kilka innych narzędzi, które są do tego zdolne. Rozważmy je również.

2. uruchom ponownie

Polecenie restart jest zwykle używane do ponownego uruchomienia systemu, ale może również wyłączyć komputer. Nie będziemy tego szczegółowo rozważać, ponieważ jest to nawet prostsze niż polecenie zamknięcia. Aby go wyłączyć, musisz określić opcję -p:

3. zatrzymaj się

To polecenie powoduje również wyłączenie komputera. Po prostu robi to na swój sposób. Nie wykonuje żadnych czynności przygotowawczych przed wyłączeniem, ale po prostu wyłącza zasilanie:

Używanie hal może uszkodzić system

4. wyłącz zasilanie

To jest odpowiednik zatrzymania, robi dokładnie to samo:

5. SysRq

Pamiętasz, jak na początku artykułu mówiłem o skrócie klawiaturowym do włączania komputera? Rozważmy to pytanie bardziej szczegółowo.

SysRq to podsystem zaimplementowany na poziomie jądra. Jądro przetwarza wszystkie naciśnięcia klawiszy i za pomocą tego podsystemu może przyjmować polecenia od użytkownika nawet wtedy, gdy system jest całkowicie zamrożony. Głównym celem tego podsystemu jest praca z komputerem w sytuacjach problemowych, na przykład jeśli uważasz, że Twój komputer został zainfekowany wirusem lub komputer zawiesił się i należy go wyłączyć. Skróty klawiaturowe służą do uzyskiwania dostępu do SysRq Alt+PrtScr+liczba

Najciekawsze jest to, że możemy wykonać bezpieczne wyłączenie komputera z systemem Linux. Aby to zrobić, przytrzymaj klawisze Alt + PrtScr i naciśnij kolejno:

  • R- odblokować klawiaturę
  • mi- wysłać sygnał SIGTERM do wszystkich procesów
  • I- wyślij sygnał SIGKILL do wszystkich procesów
  • S- przenieś wszystkie dane z pamięci podręcznej systemów plików na dysk
  • u- przemontuj systemy plików tylko do odczytu
  • B- ponownie załadować

Ponadto zamiast tego wszystkiego możesz użyć skrótu klawiaturowego Alt+PrtScr+O, w takim przypadku cała procedura zostanie wykonana automatycznie, to polecenie nie jest obsługiwane przez wszystkie jądra.

wnioski

Teraz wiesz wszystko, co musisz wiedzieć o zamykaniu Linuksa przez terminal. Jeśli zostaniesz zaskoczony błędem lub zawieszeniem komputera, wiesz, co robić. Jeśli masz jakieś pytania - pisz w komentarzach!

Problem
Spójrz tylko, ile jest sposobów zamykania i restartowania: shutdown, halt, init 0, poweroff, Ctrl+Alt+Delete... Którego lepiej użyć?
Rozwiązanie
Wybór nie jest tak istotny; użyj dowolnej metody, która najbardziej Ci odpowiada. Następujące polecenia zamknięcia mogą być używane tylko przez uprzywilejowanego użytkownika root:
# zamknięcie -h teraz
Lub
# wyłącz
Lub
#postój
Wyłączenie po sześciu minutach:
# wyłączenie -h +6
Polecenie shutdown wysyła alerty do wszystkich podłączonych użytkowników.
Możesz określić własny tekst:
# shutdown -h +6 "Czas przestać pracować i zacząć imprezować."
Użytkownicy konsoli zobaczą następujący komunikat:
Wiadomość rozgłoszeniowa z roota (pts/6) środa 14 sierpnia 13:51:24 2003
Czas przestać pracować i zacząć imprezować.
System przechodzi w DÓŁ, ​​aby zatrzymać system za 6 minut!
Aby anulować wyłączenie komputera, uruchom następujące polecenie
Z jako root:
# zamknięcie -c
Ponowne uruchomienie odbywa się za pomocą polecenia
# zamknij -r teraz
Lub
# ponowne uruchomienie
lub naciskając Ctrl+Alt+Delete. Każdy użytkownik może ponownie uruchomić komputer, chyba że opcja jest wyłączona w /etc/inittab (Sekcja 7.11 wyjaśnia, jak wyłączyć ponowne uruchomienie lub przyznać uprawnienia określonym użytkownikom).
Komentarz
Pamiętaj, że proces wyłączania musi być zawsze kontrolowany. Wszyscy
komputery, w tym maszyny z systemu Linux, musi być zrobione
znaczny nakład pracy, aby można było bezpiecznie wyłączyć zasilanie. System powinien zamknąć usługi, odmontować systemy plików i opróżnić bufory na dysk.
Polecenia shutdown, poweroff i stop są wykonywane tylko przez osoby uprzywilejowane
użytkownik root. Ograniczenie wygląda raczej głupio, bo dowolne
Menedżer okien i środowisko pulpitu mają własne menu wyłączania, a każda osoba znajdująca się w pobliżu komputera może nacisnąć przycisk zasilania. Ale takie jest życie i trzeba się z tym pogodzić.
Możliwym rozwiązaniem jest nadanie ograniczonych uprawnień do wykonywania poleceń zamykania za pomocą polecenia sudo. Inne rozwiązanie opiera się na stworzeniu specjalnej grupy użytkowników, którzy mogą się wyłączać.
Zobacz też
wyłączenie(8), wyłączenie zasilania(8); sekcja 8.20; sekcja 8.21.

nic system operacyjny nieidealny. Nawet jeśli tak jest, mogą wystąpić problemy ze sterownikami i aplikacjami. Linux nie jest wyjątkiem. Mimo że jest bardziej stabilny niż Windows, prawdopodobnie nadejdzie czas, kiedy będziesz musiał ponownie uruchomić komputer z systemem Linux.

Ale jak mogłeś to zrobić? Dostępnych jest kilka poleceń do zamykania lub ponownego uruchamiania komputera z systemem Linux za pośrednictwem terminala.

Przyjrzyjmy się im po kolei i zobaczmy, jak i kiedy należy używać tych poleceń.

1. Wyłączenie

Jeśli skończyłeś z Linuksem, rozwiązaniem jest po prostu go wyłączyć, w tym celu możesz użyć składni polecenia:

zamknięcie

Na przykład, aby natychmiast wyłączyć komputer, użyjesz:

Gdzie -H oznacza stop i Teraz— teraz, co oznacza, że ​​instrukcja musi zostać wykonana natychmiast. Można zastosować różne opóźnienia. Na przykład zamiast tego możesz użyć +5 , który każe komputerowi wykonać procedurę zamykania za pięć minut.

Jeśli chcesz użyć wiadomość(wiadomość), będzie migać do wszystkich zarejestrowanych użytkowników:

shutdown -h +5 "Serwer się wyłącza, zapisz swoją pracę i wyloguj się."

Pamiętaj, co możesz znaleźć pełna lista przełączyć te polecenia, wpisując:

Uruchom ponownie z -r

Alternatywą jest użycie polecenia -R aby ponownie uruchomić komputer. Jest używany zamiast tego -H dlatego, aby ponownie uruchomić komputer lub serwer, możesz użyć:

shutdown -r +5 "Serwer uruchamia się ponownie za pięć minut, zapisz swoją pracę i wyloguj się."

Każde zaplanowane zamknięcie lub ponowne uruchomienie można anulować, wydając polecenie -C:

2. Uruchom ponownie

Ponieważ polecenie shutdown ma opcję ponownego uruchomienia, nic dziwnego, że polecenie restartu ma opcję zamknięcia.

Standardowe polecenie restartu:

Spowoduje to wyłączenie i ponowne włączenie komputera. Jeśli jednak chcesz wyłączyć urządzenie, to klucz -P będzie działać:

Inną opcją jest wymuszony restart. Może to być przydatne, jeśli aplikacja lub usługa jest zamrożona i musisz szybko zrestartować:

To polecenie wymusi ponowne uruchomienie komputera z systemem Linux.

3. Zatrzymaj się

Widzieliśmy już przełącznik -H powyżej, ale stop może być używany jako samo polecenie. Spowoduje to natychmiastowe wyłączenie komputera za pomocą prostego czteroliterowego słowa:

Przełącznik -F można również użyć z zatrzymaniem, ale wyniki są niespójne i mogą prowadzić do problemów ze stabilnością systemu.

4. wyłącz zasilanie

Możesz preferować terminologię poleceń wyłączyć. To robi to samo, co postój, z wyjątkiem tego, że pisanie trwa dwa razy dłużej.

Jednak oprócz używania -F aby wymusić wyłączenie zasilania, można również użyć klawisza -w aby zarejestrować wezwanie do ponownego uruchomienia systemu /var/log/wtmp. To jest potencjalnie użyteczne narzędzie debugować jak -gadatliwy, co może pomóc w przypadku problemów z zamykaniem.

wyłączenie zasilania — szczegółowe

5. Opcja awaryjna: REISUB

Wszystkie powyższe polecenia można wykorzystać w sytuacjach, gdy system działa bezproblemowo. Ale co, jeśli komputer lub serwer zawiesza się i nie można go ponownie uruchomić w akceptowalny sposób?

Odpowiedzią jest więc skrót klawiaturowy. Jeśli przeszedłeś z systemu Windows, prawdopodobnie o tym wiesz Ctrl+Alt+Del wyświetla menu z zamknięcie jako opcja. Jeśli przytrzymasz go dłużej, urządzenie wyłączy się automatycznie. Jednocześnie na komputerze Mac wystarczy przytrzymać przycisk zasilania (opcja, która działa również na sprzęcie z systemem Windows).

W systemie Linux skrót klawiaturowy do ponownego uruchomienia Alt+PrintScreen+B. Jeśli jednak to nie zadziała lub wystąpi bardziej złożony problem, możesz zmienić kombinację za pomocą maksymalnie sześciu klawiszy.

Jest to znane jako REISUB ze względu na następujący wymuszony skrót:

  • un R aw - zwraca sterowanie klawiaturą z serwera wyświetlania X.
  • T mi rminate - Wysyła sygnał zakończenia SIGTERM do wszystkich procesów w celu płynnego zakończenia.
  • k I ll - Jak wyżej, ale sygnał SIGKILL, który powoduje natychmiastowe zakończenie procesów.
  • S ync opróżnia dane na dysk.
  • u nmount — ponownie montuje wszystkie systemy plików do stanu tylko do odczytu.
  • Odnośnie B oot - czego można się spodziewać.

Aby to zadziałało, musisz trzymać Alt + PrintScreen, a następnie kolejno naciskaj klawisze: R E I S U B, w tej samej kolejności. Opóźnienie między każdym naciśnięciem powinno wynosić 1-2 sekundy. Jest to konieczne, aby dać trochę czasu na ukończenie wszystkich powyższych procesów. Należy pamiętać, że ta metoda zwykle nie działa na komputerach z architekturą ARM.

Pomocy, przypadkowo wyłączyłem komputer lub serwer z systemem Linux!

Widzieliśmy, jak anulować polecenie zamknięcia lub ponownego uruchomienia. Istnieją jednak sytuacje, w których uruchamiasz polecenie shutdown, gdy uruchomiony jest istotny proces, zwłaszcza na serwerze zdalnym. Możesz to obejść, ustawiając Molly strażnik, który może cofnąć zamknięcie, sprawdzając określone parametry.

Na przykład istnieje skrypt, który sprawdza sesje SSH. Jeśli wyślesz polecenie ponownego uruchomienia, zatrzymania lub zamknięcia, molly-guard będzie wymagać nazwy hosta, który zamierzasz zamknąć.

Aby to zrobić, zainstaluj molly-guard w terminalu:

sudo apt-get install molly-guard

Ponieważ działa molly-guard tło, wykryje polecenie takie jak wyłączenie zasilania, i zgłoś, że wykryto sesję SSH. Następnie możesz wprowadzić nazwę hosta serwera, aby potwierdzić zamknięcie, lub nacisnąć ctrl+c anulować. Zdrowy!

Te pięć sposobów zamykania komputera z systemem Linux z wiersza poleceń jest szczególnie przydatnych, ponieważ można ich używać na samym komputerze lub za pośrednictwem zdalnego SSH. Ponieważ te polecenia są bardzo zwięzłe, są odpowiednie dla szybkie użycie- co od czasu do czasu może prowadzić do przypadkowego ponownego uruchomienia! Na szczęście wystarczy narzędzie molly-guard, aby tego uniknąć.

Aby dowiedzieć się więcej, sprawdź naszą tabelę referencyjną.

Wtedy SysRq może najbardziej pomóc, jak się wydaje, beznadziejne sytuacje, o ile oczywiście jądro nie wpadło w „panikę”, na co zwykle wskazują losowo migające diody na klawiaturze. Ciekawy? Potem czytamy dalej.

Klucz SysRq istniał na długo przed zrobieniem zrzutów ekranu przez system Windows. IBM pierwotnie zamierzał, aby klucz SysRq przełączał się między aplikacjami bez ich zatrzymywania. Ale to już historia. Linuxoids zaadaptował SysRq, aby dać użytkownikowi awaryjny dostęp do jądra. Ale nawet tutaj wszystko nie jest proste. Faktem jest, że dla zgodności z Windows w środowiskach graficznych Linux pojedynczy klawisz SysRq działa jak PrintScreen, a kombinacja Alt + SysRq zalecana w samouczkach konsoli, podobnie jak w Windows, głupio umieszcza obraz aktywne okno do bufora. Dlatego w Windowsowych Linuksach nie ma klucza SysRq… też! Zamiast tego klawisza w środowiskach graficznych Linuksa używana jest magiczna kombinacja Alt + Ctrl + SysRq + łacińska litera / cyfra, co znacznie zwiększa twoją władzę nad maszyną.

M - wyświetla ilość wykorzystanej pamięci. W systemie Ubuntu działa, jeśli najpierw ustawisz szczegółowość danych wyjściowych na wysoką.

N - wyświetla listę zadań w czasie rzeczywistym. Działa również, jeśli wcześniej ustawiłeś poziom wyjściowy na wysoki.

E - Przerywa wszystkie procesy z wyjątkiem init.

I - zabija wszystkie procesy, w tym init.

T - drukuje listę zadań do konsoli.

S - synchronizuje wszystkie systemy plików, zapisując wszystkie zbuforowane dane na dysku twardym.

R - wymusza powrót klawiatury do stanu roboczego. W takim przypadku jądro rozpoczyna pracę bezpośrednio z klawiaturą, z pominięciem serwera X i tylko w kodach ASCII.

T - wyświetla listę procesów. Ponownie działa tylko na wysokim poziomie gadatliwości danych wyjściowych.

P - zrzut rejestru procesora. Żądanie może być interesujące dla osób zaangażowanych w debugowanie oprogramowania.

Q - Wyświetla zdarzenia twardego timera. Działa, gdy szczegółowość danych wyjściowych jest ustawiona na wysoką.

O - natychmiast wyłącza komputer.

B - restartuje komputer. To prawda, że ​​\u200b\u200bzgłaszają, że w przypadku jądra 3.8.0-25 nie jest to ponowne uruchomienie, ale zamknięcie. Ale sam tego nie sprawdzałem.

U — ponownie montuje wszystkie systemy plików w trybie tylko do odczytu.

V - Przywraca bufor ramki konsoli. Powiedzmy, że oglądasz wideo w wirtualnej konsoli (tak, Linux, w przeciwieństwie do Windowsa, też na to pozwala) i pilnie musisz pamiętać, co robiłeś w konsoli przed uruchomieniem wideo. Polecenie przywróci bufor ramki konsoli. Ogólnie rzecz biorąc, należałoby powiedzieć więcej o tej interesującej rzeczy - buforze ramki, ale nie w tym artykule.

W - Pokazuje wszystkie zawieszone zadania, jeśli takie istnieją.

Z - wyświetla zawartość bufora śledzenia jądra.

Tak więc NAGLE twój Linux zawiesza się w taki sposób, że nawet ponowne uruchomienie Xes za pomocą klawiszy Alt + Del + BS nie pomaga. Spokojnie, po prostu spokojnie. W żadnym wypadku nie spiesz się, aby nacisnąć przycisk resetowania na obudowie komputera. Z bardzo dużym prawdopodobieństwem nie utracisz danych przy kolejnych naciskaniach klucze R-E-I-S-U-B(przytrzymaj Alt+Ctrl+SysRq!). I wiesz co? Zawsze możesz natychmiast wyłączyć normalnie działający komputer za pomocą Alt + Ctrl + SysRq + O. O ile oczywiście nie zamknąłeś swoich programów. :)

Uważam jednak, że udostępnianie magicznego SysRq jest niebezpieczne, jeśli pozwalasz innym użytkownikom na zdalną pracę na swojej maszynie lub sam pracujesz z nią zdalnie. Chodzi o to, że sygnał przerwania wysłany ze zdalnej konsoli może być interpretowany jako Alt+SysRq, ze wszystkimi wynikającymi z tego konsekwencjami. Dlatego jeśli zdecydujesz się udzielić zdalnego dostępu do swojej maszyny, to na wszelki wypadek najpierw zresetuj zmienną kernel.sysrq w konfiguracji systemu. Możesz też napisać do tego prosty skrypt na bashu, a nawet dołączyć do niego przycisk na pulpicie, aby za każdym razem nie zawracać sobie głowy edycją pliku sterującego konfiguracją systemu. Powodzenia!

Podobne posty