Scroll to navigation

SHUTDOWN(8) Podręcznik administratora systemu Linux SHUTDOWN(8)

NAZWA

shutdown - wyłącza system

SKŁADNIA

/sbin/shutdown [-akrhPHfFnc] [-t sek] czas [ostrzeżenie]

OPIS

shutdown w bezpieczny sposób wyłącza system. Wszyscy zalogowani użytkownicy powiadamiani są o rozpoczętym wyłączaniu, zaś rozpoczynanie nowych sesji pracy przez login(1) jest blokowane. Możliwe jest zamknięcie i wyłączenie systemu natychmiastowe lub po zadanym czasie. W pierwszej kolejności wszystkie procesy powiadamiane są o wyłączaniu systemu sygnałem SIGTERM. Daje to programom takim jak vi(1) czas na zachowanie edytowanego pliku, programom przetwarzającym pocztę i grupy dyskusyjne szansę na czyste zakończenie pracy itd. shutdown wykonuje swe zadanie sygnalizując procesowi init prośbę o zmianę poziomu pracy. Poziom pracy (runlevel) 0 używany jest do zatrzymywania systemu, zaś poziom 1 służy do przełączenia go w stan, w którym mogą być wykonywane zadania administracyjne i konserwacja systemu; jest to poziom domyślny jeżeli nie podano ani flagi -h ani -r polecenia shutdown. Jakie czynności wykonywane są podczas zatrzymywania bądź przeładowywania systemu możesz zobaczyć przeglądając odpowiednie dla danych poziomów pracy wpisy w pliku /etc/inittab.

OPCJE

-a
Używa /etc/shutdown.allow.
-k
Nie wykonuje faktycznego wyłączenia; wysyła tylko do wszystkich komunikaty ostrzegawcze.
-r
Przeładowuje (ang. reboot) po wyłączeniu systemu.
-h
Halt or power off after shutdown. Usually used with the -P or -H flags, depending on whether we want to poweroff or simply stop the operating system.
-P
Modifier to the -h flag. Halt action is to turn off the power. Must be used with the -h flag.
-H
Modifier to the -h flag. Halt action is to halt or drop into boot monitor on systems that support it. Must be used with the -h flag. Halting is often used to run through the shutdown process and leave output on the screen for debugging purposes. Or when the user wants the OS to stop, but leave the power on. To power off at the end of the shutdown sequence use the -P modifier instead.
-f
Pomija fsck (sprawdzanie systemów plików) podczas przeładowania.
-F
Wymusza fsck przy przeładowaniu.
-n
[PRZESTARZAŁE] Nie wywołuje init(8) do wykonania wyłączenia, ale robi to samodzielnie. Odradza się używania tej opcji, zaś jej wyniki nie zawsze są zgodne z oczekiwaniami.
-c
Anuluje już rozpoczęte wyłączanie systemu (nie działa z "shutdown now"). Przy tej opcji nie jest, oczywiście, możliwe podanie argumentu czas, ale można wprowadzić w wierszu poleceń komunikat wyjaśniający, który zostanie przesłany do wszystkich użytkowników.
-q
Reduce the number of warnings shutdown displays. Usually shutdown displays warnings every 15 minutes and then every minute in the last 10 minutes of the countdown until time is reached. When -q is specified shutdown only warns at 60 minute intervals, at the 10 minute mark, at the 5 minue mark, and when the shutdown process actually happens.
-Q
Silence warnings prior to shutting down. Usually shutdown displays warnings every 15 minutes and then every minute in the last 10 minutes of the countdown until time is reached. When -Q is specified shutdown only warns when the shutdown process actually happens. All other warning intervals are suppressed.
-t sek
Tell init(8) to wait sec seconds between sending all processes the warning (SIGTERM) and the kill signal (SIGKILL), before changing to another runlevel. The default time, if no value is specified, between these two signals is three seconds. Warning: when shutdown calls init to perform the shutdown (the default behaviour), init checks to see if all processes have terminated and will stop waiting early once its children have all terminated. When shutdown is called with the -n flag, it waits the full time specified (or three seconds) even if all other processes have terminated.
czas
Kiedy wyłączyć system.
ostrzeżenie
Komunikat ostrzegawczy, jaki ma zostać wysłany do wszystkich użytkowników.

Argument czas może posiadać różne formaty. Po pierwsze, może to być czas absolutny (ustalona godzina) w formacie gg:mm, gdzie gg jest godziną (1 lub 2 cyfry) a mm minutami godziny (dwucyfrowo). Po drugie, może być w formacie +m, gdzie m jest liczbą minut do odczekania. Słowo now (teraz) jest równoważnikiem +0.

Jeśli shutdown wywoływany jest z czasem opóźnienia, to tworzy plik sygnalizacyjny (advisory file) /run/nologin powodujący, że programy takie jak login(1) nie zezwalają na nowe logowania użytkowników. Plik jest tworzony pięć minut przed rozpoczęciem wyłączania systemu. Shutdown usuwa ten plik tylko wtedy, gdy zostanie zatrzymany przed wysłaniem sygnału do init (tj. zostanie anulowany lub coś się nie udało). Usuwa go również przed wywołaniem init do zmiany poziomu pracy.

Flaga -f oznacza "reboot fast" (szybkie przeładowanie). Tworzy plik sygnalizacyjny /fastboot, który może być testowany przez system przy ponownym uruchamianiu. Plik startowy rc może sprawdzać, czy powyższy plik istnieje i decydować o zaniechaniu uruchamiania fsck(1), gdyż system został wyłączony prawidłowo. Następnie proces startowy powinien usunąć /fastboot.

Flaga -F oznacza "force fsck" (wymuś fsck). Tworzy plik sygnalizacyjny /forcefsck, który może być testowany przez system przy ponownym uruchamianiu. Plik startowy rc może sprawdzać, czy powyższy plik istnieje i decydować o uruchomieniu fsck(1) ze specjalną flagą "force", tak by zostały sprawdzone nawet poprawnie odmontowane systemy plików. Następnie proces startowy powinien usunąć /forcefsck.

Flaga -n powoduje, że shutdown nie będzie wywoływać init, ale zabije samodzielnie wszystkie działające procesy. shutdown wyłączy następnie obsługę udziałów (quota), rozliczeń i obszaru wymiany (swap) oraz odmontuje wszystkie systemy plików.

KONTROLA DOSTĘPU

shutdown może być wywoływane z init(8), gdy zostaną wciśnięte magiczne klawisze CTRL-ALT-DEL, przez utworzenie odpowiedniego wpisu w /etc/inittab. Oznacza to, że każdy, kto posiada fizyczny dostęp do klawiatury konsoli może wyłączyć system. By zapobiec takiej sytuacji, shutdown może sprawdzać, czy na jednej z wirtualnych konsoli zalogowany jest upoważniony użytkownik. Jeżeli shutdown zostanie wywołany z argumentem -a (proszę dodać go do wywołania shutdown w /etc/inittab), to sprawdza czy istnieje plik /etc/shutdown.allow. Następnie porównuje nazwy użytkowników z tego pliku z listą osób zalogowanych na wirtualnej konsoli (z /var/run/utmp). Shutdown będzie kontynuować pracę tylko wtedy, gdy zalogowany jest jeden z upoważnionych użytkowników lub root. W przeciwnym wypadku wyświetli komunikat

shutdown: no authorized users logged in
[shutdown: brak zalogowanych upoważnionych użytkowników]

na (fizyczną) konsolę systemową. Plik /etc/shutdown.allow zawiera po jednej nazwie (loginname) użytkownika w wierszu. Dozwolone są wiersze puste i wiersze komentarzy (poprzedzone znakiem #). Obecnie dla tego pliku istnieje ograniczenie do 32 użytkowników.

Proszę zauważyć, że jeśli plik /etc/shutdown.allow nie istnieje, to argument -a jest ignorowany.

ZATRZYMANIE CZY WYŁĄCZENIE

The -H option just sets the init environment variable INIT_HALT to HALT, and the -P option just sets that variable to POWEROFF. The script (usually /etc/init.d/halt) that calls the halt(8) program as the last thing in the shutting down sequence should check this environment variable and call the halt(8) program with the right options for these options to actually have any effect.

PLIKI

/fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow

UWAGI

Wielu użytkowników zapomina o podaniu argumentu czas i jest zakłopotana komunikatem o błędzie dawanym przez shutdown. Argument czas jest obowiązkowy; w 90 procentach przypadków argumentem tym będzie słowo now.

Init może przechwycić CTRL-ALT-DEL i rozpocząć wyłączenia jedynie w trybie konsolowym. Jeśli działa X Window System, to serwer X przetwarza wszystkie wciskane klawisze. Niektóre środowiska X11 umożliwiają przechwycenie kombinacji CTRL-ALT-DEL, ale to, co dokładnie stanie się po użyciu tej sekwencji, zależy od danego środowiska.

Shutdown nie jest zaprojektowany do działania z setuid. Plik /etc/shutdown.allow nie jest używany w odniesieniu do osoby wykonującej shutdown, sprawdza on JEDYNIE kto jest aktualnie zalogowany na konsoli/jednej z konsol.

AUTOR

Miquel van Smoorenburg, miquels@cistron.nl

ZOBACZ TAKŻE

fsck(8), init(8), halt(8), poweroff(8), reboot(8)

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Wojtek Kotwica <wkotwica@post.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres <manpages-pl-list@lists.sourceforge.net>.

12 listopada 2003