Provided by: manpages-ja-dev_0.5.0.0.20131015+dfsg-2_all bug

名前

       reboot - 再起動する。または Ctrl-Alt-Delを有効・無効にする

書式

       /* libc4 と libc5 でのライブラリコールとシステムコールは同じである。
          またカーネル 2.1.30 以降では、定数としてシンボリックな名前
          LINUX_REBOOT_* が定義されており、呼び出しの第 4 引数として
          指定することができる。*/

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

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

       /* glibc では、関連する定数に RB_* というシンボリックな名前が付け
          られている。ライブラリ関数の引数は 1 つで、3 引数のシステムコールの
          ラッパ (wrapper) となっている。 */

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

       int reboot(int cmd);

説明

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

       magicLINUX_REBOOT_MAGIC1 (値は 0xfee1dead) であり、かつ magic2LINUX_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; 1.1.76 以降)  "System halted."  というメッセージが表示され、システム
              は停止 (halt) する。 制御は ROM モニタに移る (ROM モニタがある場合)。 先に  sync(2)   を行なわない
              と、データが失われる。

       LINUX_REBOOT_CMD_KEXEC (Linux 2.6.13 以降)
              kexec_load(2)  を使って事前にロードされたカーネルを実行する。 このオプションが利用できるのは、カー
              ネルのコンフィグで CONFIG_KEXEC が 有効になっている場合にのみである。

       LINUX_REBOOT_CMD_POWER_OFF
              (0x4321fedc; 2.1.30 以降)  "Power down" というメッセージが表示され、システムは停止  (stop)  する。
              可能な場合はシステムの電源が落とされる。 先に sync(2)  を行なわないと、データが失われる。

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

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

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

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

返り値

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

エラー

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

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

       EPERM  呼び出し元プロセスに  reboot()  を呼び出すのに十分な権限がなかった。 CAP_SYS_BOOT ケーパビリティが
              必要である。

準拠

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

関連項目

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

この文書について

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