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

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)