Provided by: manpages-pl-dev_0.7-2_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.