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

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

       sync(2), bootparam(7), capabilities(7), ctrlaltdel(8), halt(8), reboot(8)

O STRONIE

       Angielska wersja tej strony  pochodzi  z  wydania  3.71  projektu  Linux  man-pages.  Opis
       projektu,  informacje  dotyczące  zgłaszania błędów, oraz najnowszą wersję oryginału można
       znaleźć pod adresem http://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ą    3.71
       oryginału.