Provided by: manpages-ru-dev_4.21.0-2_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
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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

Linux man-pages 6.03                            8 февраля 2023 г.                                      reboot(2)