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を 有 効 ・ 無 効 に す る

書 式

/* カ ー ネ ル 2.1.30 以 降 で は 、 定 数 と し て シ ン ボ リ ッ ク な 名 前
LINUX_REBOOT_* が 定 義 さ れ て お り 、 呼 び 出 し の 第 4 引 数 と し て
指 定 す る こ と が で き る 。 */

#include <unistd.h>
#include <linux/reboot.h>

int reboot(int magic , int magic2 , int cmd , void * arg );

/* Under glibc and most alternative libc’s (including uclibc, dietlibc,
musl and a few others), some of the constants involved have gotten
symbolic names RB_*, and the library call is a 1-argument
wrapper around the system call: */

#include <unistd.h>
#include <sys/reboot.h>

int reboot(int cmd );

説 明

reboot () は シ ス テ ム を 再 起 動 す る 。 ま た は 再 起 動 の キ ー ス ト ロ ー ク で あ る Ctrl-Alt-Delete (CAD) を 有 効 /無 効 に す る 。 こ の キ ー ス ト ロ ー ク は loadkeys (1) に よ っ て 変 更 で き る 。

magic LINUX_REBOOT_MAGIC1 (値 は 0xfee1dead) で あ り 、 か つ magic2 LINUX_REBOOT_MAGIC2 (672274793) で な け れ ば 、 こ の シ ス テ ム コ ー ル は (エ ラ ー EINVAL で ) 失 敗 す る 。 し か し 2.1.17 か ら は LINUX_REBOOT_MAGIC2A (85072278) が 、 ま た 2.1.97 か ら は LINUX_REBOOT_MAGIC2B (369367448) が 、 2.5.71 か ら は LINUX_REBOOT_MAGIC2C (537993216) が magic2 の 値 と し て 指 定 で き る よ う に な っ た (こ れ ら の 定 数 の 16 進 で の 表 記 に は ち ょ っ と し た 意 味 が あ る )。

cmd 引 数 に は 以 下 の 値 を 指 定 で き る 。
LINUX_REBOOT_CMD_CAD_OFF

( RB_DISABLE_CAD , 0) CAD を 無 効 に す る 。 こ れ 以 降 に CAD キ ー ス ト ロ ー ク が 入 力 さ れ る と 、 SIGINT シ グ ナ ル が init (プ ロ セ ス 1) に 送 ら れ る 。 こ の シ グ ナ ル を 受 け る と 、 お そ ら く init プ ロ セ ス は 前 も っ て 定 め ら れ た 動 作 を 行 う こ と に な る (多 分 す べ て の プ ロ セ ス の kill, sync, 再 起 動 )。

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." と い う メ ッ セ ー ジ が 表 示 さ れ 、 シ ス テ ム は 停 止 (halt) す る 。 制 御 は ROM モ ニ タ に 移 る (ROM モ ニ タ が あ る 場 合 )。 先 に 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" と い う メ ッ セ ー ジ が 表 示 さ れ 、 シ ス テ ム は 停 止 (stop) す る 。 可 能 な 場 合 は シ ス テ ム の 電 源 が 落 と さ れ る 。 先 に sync (2) を 行 な わ な い と 、 デ ー タ が 失 わ れ る 。

LINUX_REBOOT_CMD_RESTART

( RB_AUTOBOOT , 0x1234567) "Restarting system." と い う メ ッ セ ー ジ が 表 示 さ れ 、 デ フ ォ ル ト の 再 起 動 処 理 が た だ ち に 実 行 さ れ る 。 先 に sync (2) を 行 な わ な い と 、 デ ー タ が 失 わ れ る 。

LINUX_REBOOT_CMD_RESTART2

(0xa1b2c3d4; Linux 2.1.30 以 降 ) "Restarting system with command '%s'" と い う メ ッ セ ー ジ が 表 示 さ れ 、 た だ ち に ( arg に 指 定 さ れ た コ マ ン ド を 用 い て ) 再 起 動 (restart) が 行 わ れ る 。 先 に sync (2) を 行 な わ な い と 、 デ ー タ が 失 わ れ る 。

LINUX_REBOOT_CMD_SW_SUSPEND

( RB_SW_SUSPEND , 0xd000fce1; Linux 2.5.18 以 降 ). シ ス テ ム が デ ィ ス ク に サ ス ペ ン ド (ハ イ バ ネ ー シ ョ ン ) さ れ る 。 こ の オ プ シ ョ ン は カ ー ネ ル で CONFIG_HIBERNATION が 有 効 に な っ て い る 場 合 に の み 利 用 で き る 。

ス ー パ ー ユ ー ザ ー だ け が reboot () を 呼 び 出 す こ と が で き る 。

上 述 の ア ク シ ョ ン の 実 際 の 効 果 は ア ー キ テ ク チ ャ ー に 依 存 す る 。 i386 ア ー キ テ ク チ ャ ー で は 、 現 在 の と こ ろ (2.1.122) 付 加 引 数 は 何 も 行 わ な い が 、 再 起 動 の タ イ プ を カ ー ネ ル の コ マ ン ド ラ イ ン 引 数 ("reboot=...") に よ っ て 定 め る こ と が で き る 。 こ れ に は warm ま た は cold と 、 hard ま た は BIOS 経 由 の 再 起 動 を 設 定 で き る 。

PID 名 前 空 間 内 で の 動 作

Since Linux 3.4, if reboot () is called from a PID namespace other than the initial PID namespace with one of the cmd 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 cmd when calling reboot () in this case are as follows:
LINUX_REBOOT_CMD_RESTART
, LINUX_REBOOT_CMD_RESTART2

The "init" process is terminated, and wait (2) in the parent process reports that the child was killed with a SIGHUP signal.

LINUX_REBOOT_CMD_POWER_OFF , LINUX_REBOOT_CMD_HALT

The "init" process is terminated, and wait (2) in the parent process reports that the child was killed with a SIGINT signal.

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

返 り 値

cmd が シ ス テ ム の 停 止 や 再 起 動 を 表 す 値 の 場 合 、 呼 び 出 し が 成 功 す る と reboot () は 返 ら な い 。 cmd が 他 の 値 の 場 合 に は 、 成 功 す る と 0 が 返 る 。 cmd の 値 に 関 わ ら ず 、 失 敗 の 場 合 に は -1 が 返 り 、 errno が 適 切 に 設 定 さ れ る 。

エ ラ ー

EFAULT

LINUX_REBOOT_CMD_RESTART2 の 時 に ユ ー ザ ー ス ペ ー ス の デ ー タ の 取 得 に 問 題 が あ っ た 。

EINVAL

magic の 数 字 か cmd が 間 違 っ て い る 。

EPERM

The calling process has insufficient privilege to call reboot (); the caller must have the CAP_SYS_BOOT inside its user namespace.

準 拠

reboot () は Linux に 特 有 で あ り 、 移 植 を 考 慮 し た プ ロ グ ラ ム で は 用 い る べ き で は な い 。

関 連 項 目

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

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。