スポンサーリンク

REBOOT(2) FreeBSD システムコールマニュアル REBOOT(2)

名称

reboot − システムをリブートするかまたはプロセッサを停止する

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

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

int

reboot(int howto);

解説

reboot() システムコールはシステムをリブートします。スーパユーザだけが必要 に応じてマシンをリブートできます。しかし、回復不可能なシステム障害の場合 は、リブートは自動的に起動されます。

howto 引数はオプションのマスクです。システムコールインタフェースはインク ルードファイル <sys/reboot.h> 内に定義された次のオプションを受付け、新し いカーネルまたは新しいブートストラップと init プログラムに渡されるように します。

       RB_AUTOBOOT

デフォルト。システムが通常の方法でリブートするようにしま す。

RB_ASKNAME
ブートストラッププログラム自体によって解釈され、どのファイ ルをブートすべきかについて、コンソールにプロンプトを表示す るようにします。通常、システムはファイル ‘‘xx(0,0)kernel’’ からブートされます。ここで、 xx はファイル名を入力するよう にプロンプトを出さない場合の、デフォルトのディスク名です。

RB_DFLTROOT
コンパイル時に指定されたルートデバイスを使用します。通常、 システムは、可能であればブートされたデバイスをルートデバイ スとして使用します (デフォルトの動作は、システムがどのドラ イブからロードされたかを判別するブートストラッププログラム の能力に依存します。これはすべてのシステムで可能なわけでは ありません)。

RB_DUMP
リブートの前にカーネルメモリをダンプします。詳細について は、 savecore(8) を参照してください。

RB_HALT
プロセッサは単に停止されます。リブートは起きません。このオ プションは注意して使用する必要があります。

RB_POWEROFF
システム停止の後、シャットダウンコードは、可能であれば電源 を切ります。これにはハードウェアのサポートが必要です。

RB_INITNAME
システムがリブートした際に、 /sbin/init 以外の init プログ ラム (init(8) を参照) が実行されるよう指定するオプションで す。このスイッチは現時点では無効です。

RB_KDB
シンボルテーブルをロードし、システム内の組み込みデバッガを 有効にします。カーネルがデバッグ用に構成されていない場合、 このオプションは意味を持ちません。これ以外のいくつかのオプ ションは、このオプションと組み合わせると通常と異なる意味を 持つようになりますが、それらの機能を使用することは reboot() システムコールでは不可能な場合があります。詳細については、 ddb(4) を参照してください。

RB_NOSYNC
通常、プロセッサが停止されるかまたはリブートされる前に、 ディスクへまだ書き込まれていないデータがあればそれを書き込 みます (sync(8) を参照)。このオプションは、ファイルシステム への変更が手作業で行われた場合や、プロセッサが暴走している 場合、有用なことがあります。

RB_RDONLY
初期段階で、ルートファイルシステムを読取り専用でマウントし ます。現在はこれがデフォルトであり、このオプションは無意味 なものになっています。

RB_SINGLE
通常のリブート処理ではまず自動的にディスクの一貫性チェック が行われ、次いでマルチユーザ環境へ移行するようになっていま す。 RB_SINGLE は、これを行わず、システムをコンソール上のシ ングルユーザシェルでブートします。 RB_SINGLE は、実際には ブートし直されたシステムで init(8) プログラムによって解釈さ れます。

オプションを指定しない場合 (すなわち、 RB_AUTOBOOT が使用される場合)、シ ステムは、プロセッサが所定の方法で選択したユニット 0 のディスクのルート ファイルシステムにある ‘‘kernel’’ というファイルからリブートされます。こ の際、通常はディスクの一貫性チェックが自動的に実行されます (fsck(8) を参 照)。

戻り値

正常に処理が終了した場合、この呼び出しは戻ることはありません。そうでない 場合は -1 が返され、エラーがグローバル変数 errno 内に返されます。

エラー

       [EPERM]

呼び出し側がスーパユーザではありません。

関連項目

crash(8), halt(8), init(8), reboot(8), savecore(8)

バグ

HP300 システムは、 RB_DFLTROOT と RB_KDB のどちらもサポートしていません。

歴史

reboot() システムコールは 4.0BSD で登場しました。

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク