Provided by: manpages-pl-dev_0.7-1_all 

NAZWA
reboot - przeładowanie systemu lub włączenie/wyłączenie Ctrl-Alt-Del
SKŁADNIA
/* Wywołania systemowe pod biblioteką libc4 i libc5 są identyczne,
a od wersji jądra 2.1.30 istnieją symboliczne nazwy LINUX_REBOOT_*
dla stałych oraz czwarty parametr wywołania: */
#include <unistd.h>
#include <linux/reboot.h>
int reboot(int magic, int magic2, int cmd, void *arg);
/* Pod glibc i większością libc alternatywnych (w tym uclibc, dietlibc,
musl i kilku innych) niektóre stałe dostały nazwy RB_*, a wywołanie
biblioteczne jest jednoargumentową funkcją opakowującą
trójargumentowe wywołanie systemowe: */
#include <unistd.h>
#include <sys/reboot.h>
int reboot(int cmd);
OPIS
Wywołanie reboot() przeładowuje system albo włącza lub wyłącza kombinację klawiszy odpowiedzialną za
przeładowanie systemu (nazywaną w skrócie CAD od domyślnej kombinacji Ctrl-Alt-Del, którą można zmienić
przy pomocy loadkeys(1)).
To wywołanie systemowe się nie powiedzie (z kodem EINVAL), chyba że magic wynosi LINUX_REBOOT_MAGIC1
(czyli 0xfee1dead) i magic2 jest równe LINUX_REBOOT_MAGIC2 (czyli 672274793). Jednakże magic2 może
przyjmować dodatkowe wartości: od wersji 2.1.17 - LINUX_REBOOT_MAGIC2A (czyli 85072278), od wersji 2.1.97
- LINUX_REBOOT_MAGIC2B (czyli 369367448), a od wersji 2.5.71 również LINUX_REBOOT_MAGIC2C (czyli
537993216) (szesnastkowe wartości powyższych stałych mają znaczenie).
Parametr cmd może przyjmować następujące wartości:
LINUX_REBOOT_CMD_CAD_OFF
(RB_DISABLE_CAD, 0). CAD jest wyłączony, co oznacza, że naciśnięcie kombinacji klawiszy CAD wyśle
procesowi init (procesowi nr 1) sygnał SIGINT i ten proces zdecyduje, jaką akcję wykonać (być
może: zabicie wszystkich procesów, sync, restart).
LINUX_REBOOT_CMD_CAD_ON
(RB_ENABLE_CAD, 0x89abcdef). CAD jest włączony, co oznacza, że naciśnięcie klawiszy CAD wywoła od
razu akcję skojarzoną z LINUX_REBOOT_CMD_RESTART.
LINUX_REBOOT_CMD_HALT
(RB_HALT_SYSTEM, 0xcdef0123; od wersji 1.1.76 Linuksa). Wypisywany jest komunikat "System
halted.", a system jest zatrzymywany. Kontrola jest przekazywana do monitora ROM, jeżeli istnieje.
Jeżeli nie wywołano wcześniej sync(2), niezapisane dane zostaną utracone.
LINUX_REBOOT_CMD_KEXEC
(RB_KEXEC, 0x45584543, od wersji 2.6.13 Linuksa). Uruchamia jądro załadowane wcześniej za pomocą
kexec_load(2). Opcja jest dostępna tylko wtedy, jeśli jądro zostało skonfigurowane z CONFIG_KEXEC.
LINUX_REBOOT_CMD_POWER_OFF
(RB_POWER_OFF, 0x4321fedc; od wersji 2.1.30 Linuksa). Wypisywany jest komunikat "Power down.",
system jest zatrzymywany i jeżeli jest to możliwe, zasilanie jest odłączane. Jeżeli nie wywołano
wcześniej sync(2), niezapisane dane zostaną utracone.
LINUX_REBOOT_CMD_RESTART
(RB_AUTOBOOT, 0x1234567). Wypisywany jest komunikat "Restarting system.", a natychmiast po tym
następuje przeładowanie systemu. Jeżeli nie wywołano wcześniej sync(2), niezapisane dane zostaną
utracone.
LINUX_REBOOT_CMD_RESTART2
(0xa1b2c3d4; od wersji 2.1.30 Linuksa). Wypisywany jest komunikat "Restarting system with command
'%s'" i natychmiast po nim system jest przeładowywany (używając polecenia podanego w argumencie
arg). Jeżeli nie wywołano wcześniej sync(2), niezapisane dane zostaną utracone.
LINUX_REBOOT_CMD_SW_SUSPEND
(RB_SW_SUSPEND, 0xd000fce1; od wersji 2.5.18 Linuksa). System jest wstrzymywany (hibernowany) na
dysk. Opcja jest dostępna tylko wtedy, jeśli jądro zostało skonfigurowane z CONFIG_HIBERNATION.
Tylko administrator może wywołać funkcję reboot().
Dokładny wynik powyższych akcji zależy od architektury komputera. Obecnie (2.1.122) dodatkowy parametr
nie ma żadnego znaczenia dla architektury i386, jednakże typ restartowania systemu może być określony w
argumentach linii poleceń jądra ("reboot=...") jako restart albo ciepły, albo zimny oraz albo twardy,
albo przez BIOS.
Zachowanie wewnątrz przestrzeni nazw PID
Od Linuksa 3.4, gdy reboot() jest wywoływane z przestrzeni nazw PID (zob. pid_namespaces(7)) innej niż
początkowa przestrzeń nazwy PID, efektem wywołania jest wysłanie sygnału do procesu "init" przestrzeni
nazwy. LINUX_REBOOT_CMD_RESTART i LINUX_REBOOT_CMD_RESTART2 powodują wysłanie sygnału SIGHUP.
LINUX_REBOOT_CMD_POWER_OFF i LINUX_REBOOT_CMD_HALT wysyłają sygnał SIGINT.
WARTOŚĆ ZWRACANA
Jeśli podano wartość cmd powodującą zatrzymanie lub zrestartowanie systemu, to reboot() nie powraca. W
przypadku innych wartości parametru cmd zwracane jest zero, jeśli funkcja zakończyła się powodzeniem. We
wszystkich przypadkach (niezależnie od wartości cmd) w razie wystąpienia błędu zwracane jest -1 i zmienna
errno jest ustawiana na odpowiednią wartość.
BŁĘDY
EFAULT Problem pobierania danych z przestrzeni użytkownika w wypadku wywołania LINUX_REBOOT_CMD_RESTART2.
EINVAL Niepoprawne liczby magiczne lub cmd.
EPERM Proces wywołujący nie ma odpowiednich uprawnień, aby wywołać reboot(); wymagane jest posiadanie
przywileju CAP_SYS_BOOT.
ZGODNE Z
Funkcja reboot() jest specyficzna dla Linuksa i nie powinna być używana w programach, które mają działać
pod różnymi systemami.
ZOBACZ TAKŻE
kexec_load(2), sync(2), bootparam(7), capabilities(7), ctrlaltdel(8), halt(8), reboot(8)
O STRONIE
Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux man-pages. Opis projektu, informacje
dotyczące zgłaszania błędów, oraz najnowszą wersję oryginału można znaleźć pod adresem
https://www.kernel.org/doc/man-pages/.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Robert Luberda <robert@debian.org> i
Michał Kułach <michal.kulach@gmail.com>.
Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 4.07 oryginału.
Linux 2015-12-05 REBOOT(2)