Man page - reboot(2)

Packages contains this manual

Available languages:

en fr pl nl ja ru ro de

Manual

reboot

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
Поведение внутри пространств имён PID
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
СТАНДАРТЫ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

Стандартная библиотека языка C ( 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 op , void * arg );

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

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

int reboot(int op );

ОПИСАНИЕ

Вызов 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.)

The op argument can have the following values:
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

Since Linux 3.4, if reboot () is called from a PID namespace other than the initial PID namespace with one of the op values listed below, it performs a "reboot" of that namespace: the "init" process of the PID namespace is immediately terminated, with the effects described in pid_namespaces (7).

The values that can be supplied in op when calling reboot () in this case are as follows:
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 .

For the other op values, reboot () returns -1 and errno is set to EINVAL .

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

For the values of op that stop or restart the system, a successful call to reboot () does not return. For the other op 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

Bad magic numbers or op .

EPERM

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

СТАНДАРТЫ

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> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков .