Provided by: manpages-ru-dev_4.19.0-7_all bug

ИМЯ

       reboot - перезагружает систему и разрешает/запрещает использование комбинации Ctrl-Alt-Del

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       /* Since Linux 2.1.30 there are symbolic names LINUX_REBOOT_*
          for the constants and a fourth argument to the call: */

       #include <linux/reboot.h>  /* определения констант LINUX_REBOOT_* */
       #include <sys/syscall.h>   /* определения констант SYS_* */
       #include <unistd.h>

       int syscall(SYS_reboot, int magic, int magic2, int cmd, void *arg);

       /* В glibc и в большинстве альтернативных libc (включая uclibc,
          deitlibc, musl и других) некоторым константам присвоены
          символьные имена RB_*, а библиотечная функция является
          обёрткой с одним аргументом вокруг системного вызова: */

       #include <sys/reboot.h>    /* определения констант RB_* */
       #include <unistd.h>

       int reboot(int cmd);

ОПИСАНИЕ

       Вызов   reboot()   перезагружает   систему   или   разрешает/запрещает  использование  для
       перезагрузки специального сочетания клавиш (сокращённо CAD, от комбинации по  умолчанию  —
       Ctrl-Alt-Delete; может быть изменена с помощью loadkeys(1)).

       This  system  call  fails (with the error EINVAL)  unless magic equals LINUX_REBOOT_MAGIC1
       (that is,  0xfee1dead)  and  magic2  equals  LINUX_REBOOT_MAGIC2  (that  is,  0x28121969).
       However,  since  Linux  2.1.17  also LINUX_REBOOT_MAGIC2A (that is, 0x05121996)  and since
       Linux 2.1.97 also LINUX_REBOOT_MAGIC2B (that is, 0x16041998)  and since Linux 2.5.71  also
       LINUX_REBOOT_MAGIC2C  (that  is,  0x20112000)   are  permitted as values for magic2.  (The
       hexadecimal values of these constants are meaningful.)

       Аргумент cmd может принимать следующие значения:

       LINUX_REBOOT_CMD_CAD_OFF
              (RB_DISABLE_CAD, 0). Запретить  использование  сочетания  клавиш  для  перезагрузки
              системы (CAD). Это означает, что нажатие комбинации клавиш CAD приведёт к тому, что
              процессу init (с идентификатором 1) будет послан сигнал  SIGINT,  после  чего  этот
              процесс  может  сам  решить  какие  действия  выполнять  (возможно, послать сигналы
              процессам, выполнить команду sync, reboot).

       LINUX_REBOOT_CMD_CAD_ON
              (RB_ENABLE_CAD,  0x89abcdef).  Разрешить   использование   сочетания   клавиш   для
              перезагрузки  (CAD).  Это  означает,  что  нажатие комбинации клавиш CAD приведёт к
              немедленному выполнению действия, связанного с LINUX_REBOOT_CMD_RESTART.

       LINUX_REBOOT_CMD_HALT
              (RB_HALT_SYSTEM, 0xcdef0123; начиная с Linux 1.1.76)  Выводится  сообщение  «System
              halted.»  и  система  останавливается.  Управление  передается монитору в ПЗУ, если
              таковой имеется. Если вызову этой функции не предшествует sync(2), то данные  будут
              потеряны.

       LINUX_REBOOT_CMD_KEXEC
              (RB_KEXEC,  0x45584543,  начиная  с  Linux  2.6.13)  Выполняет  ядро,  которое было
              загружено ранее с помощью kexec_load(2). Этот параметр доступен только,  если  ядро
              собрано с параметром CONFIG_KEXEC.

       LINUX_REBOOT_CMD_POWER_OFF
              (RB_POWER_OFF,  0x4321fedc;  начиная  с  Linux  2.1.30)  Выводится сообщение «Power
              down.», система останавливается, и у системы  отключаются  все  источники  питания,
              если  это  возможно.  Если  вызову  этой функции не предшествует sync(2), то данные
              будут потеряны.

       LINUX_REBOOT_CMD_RESTART
              (RB_AUTOBOOT, 0x1234567) Выводится сообщение «Restarting system.», и  по  умолчанию
              сразу  выполняется  перезагрузка  системы. Если вызову этой функции не предшествует
              команда sync(2), то данные будут потеряны.

       LINUX_REBOOT_CMD_RESTART2
              (0xa1b2c3d4; since Linux 2.1.30).  The  message  "Restarting  system  with  command
              '%s'"  is  printed,  and  a  restart  (using  the  command string given in arg)  is
              performed immediately.  If not preceded by a sync(2), data will be lost.

       LINUX_REBOOT_CMD_SW_SUSPEND
              (RB_SW_SUSPEND, 0xd000fce1; начиная с Linux 2.5.18)  Система  переводится  в  режим
              ожидания  (suspended, hibernated) на диск. Этот параметр доступен только, если ядро
              собрано с параметром CONFIG_HIBERNATION.

       Только суперпользователь может вызывать reboot().

       Конкретное действие описанных выше команд зависит от  архитектуры  системы.  Что  касается
       i386,  то  дополнительный  аргумент  в  данное  время  ничего  не  даёт  (2.1.122),  а тип
       перезагрузки можно задать в командной строке  ядра  ("reboot=..."),  определив,  будет  ли
       перезагрузка "тёплой" или "холодной", а также аппаратной или посредством BIOS.

   Поведение внутри пространств имён PID
       Начиная  с  Linux 3.4, если reboot() вызывается из пространства имён PID, отличающегося от
       начального пространства имён PID, и и значение cmd равно одному из перечисленных ниже,  то
       выполняется  «перезагрузка» в этом пространстве имён: процесс «init» пространства имён PID
       завершается немедленно, что приводит к результатам, описанным в pid_namespaces(7).

       Возможные значения в этом случае, передаваемые в cmd при вызове reboot(), следующие:

       LINUX_REBOOT_CMD_RESTART, LINUX_REBOOT_CMD_RESTART2
              Процесс «init» завершается и wait(2) в родительском процессе возвращает, что  поток
              завершился по сигналу SIGHUP.

       LINUX_REBOOT_CMD_POWER_OFF, LINUX_REBOOT_CMD_HALT
              Процесс  «init» завершается и wait(2) в родительском процессе возвращает, что поток
              завершился по сигналу SIGINT.

       При других значениях cmd вызов reboot()  возвращает  -1  и  errno  присваивается  значение
       EINVAL.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       For the values of cmd that stop or restart the system, a successful call to reboot()  does
       not return.  For the other cmd values, zero is returned on success.  In all cases,  -1  is
       returned on failure, and errno is set to indicate the error.

ОШИБКИ

       EFAULT Проблема      получения      данных      пользовательского     пространства     при
              LINUX_REBOOT_CMD_RESTART2.

       EINVAL Неправильные идентификационные числа или cmd.

       EPERM  Вызывающий процесс не имеет достаточно прав для вызова reboot(); вызывающий  должен
              иметь мандат CAP_SETGID в своём пользовательском пространстве имён.

СТАНДАРТЫ

       Вызов  reboot()  есть  только  в  Linux,  и  он  не  должен  использоваться  в переносимых
       программах.

СМ. ТАКЖЕ

       systemctl(1),   systemd(1),   kexec_load(2),   sync(2),   bootparam(7),   capabilities(7),
       ctrlaltdel(8), halt(8), shutdown(8)

ПЕРЕВОД

       Русский  перевод  этой страницы руководства был сделан aereiae <aereiae@gmail.com>, Azamat
       Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Katrin Kutepova
       <blackkatelv@gmail.com>,  Lockal <lockalsash@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>,
       Баринов Владимир и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.