tail head cat sleep
QR code linking to this page

manページ  — REBOOT

名称

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

内容

ライブラリ

Standard C Library (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() システムコールは BSD 4.0 で登場しました。

REBOOT (2) June 4, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.