reboot(2) FreeBSD 一般コマンドマニュアル

reboot

前のページ 上に戻る 次のページ

reboot




書式

     #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()
                   が行なわれ、次いでマルチユーザ環境へ移行するようになってい
                   ます。 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 4.4                      June 4, 1993                      FreeBSD 4.4

ABELNET VPSサービス