Unix-system-calls-reboot
[top]#
[[File:]]
[[File:]] |
|Web |This Site
- 初心者向けのUnix *
- Unix-ホーム
- Unix-はじめに
- Unix-ファイル管理
- Unix-ディレクトリ
- Unix-ファイル権限
- Unix-環境
- Unix-基本ユーティリティ
- Unix-パイプとフィルタ
- Unix-プロセス
- Unix-コミュニケーション
- Unix-The Vi Editor
- Unix Shellプログラミング*
- Unix-シェルとは?
- Unix-変数の使用
- Unix-特殊変数
- Unix-配列の使用
- Unix-基本的な演算子
- Unix-意思決定
- Unix-シェルループ
- Unix-ループ制御
- Unix-シェル置換
- Unix-引用メカニズム
- Unix-IOリダイレクト
- UNIX-シェル関数
- Unix-マンページヘルプ
- 高度なUnix *
- Unix-正規表現
- Unix-ファイルシステムの基本
- Unix-ユーザー管理
- Unix-システムパフォーマンス
- Unix-システムログ
- Unix-信号とトラップ
- Unixの便利なリファレンス*
- Unix-便利なコマンド
- Unix-クイックガイド
- Unix-組み込み関数
- Unix-システムコール
- Unix-コマンドリスト
- Unixの役立つリソース*
- Unix役立つリソース
選択した読書
- http://www.finddevguides.com/computer_glossary [コンピュータ用語集] *http://www.finddevguides.com/computer_whoiswho[Who is Who]
Copyright©2014 by finddevguides
Home | References | Discussion Forums | About TP |
reboot()-Unix、Linuxシステムコール
[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]
広告
NAME
reboot-再起動、またはCtrl-Alt-Delの有効化/無効化
概要
libc4とlibc5の場合、ライブラリコールとシステムコールは同一であり、カーネルバージョン2.1.30以降、定数のシンボル名LINUX_REBOOT_* と呼び出しの4番目の引数があります。
- #include <unistd.h> * *#include <linux/reboot.h> *
glibcでは、関連する定数の一部にRB_* というシンボリック名が付けられており、ライブラリー呼び出しは3引数システム呼び出しの1引数ラッパーです。
- #include <unistd.h> * *#include <sys/reboot.h> *
説明
_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進値には意味があります。)_flag_引数には、次の値を指定できます。
Tag
説明
(RB_AUTOBOOT、0x1234567)。 「Restarting system。」というメッセージが出力され、デフォルトの再起動がすぐに実行されます。 sync (2)が前にない場合、データは失われます。
(RB_HALT_SYSTEM、0xcdef0123; 1.1.76以降)。 「システムが停止しました。」というメッセージが出力され、システムが停止します。 ROMモニターがある場合は、制御がROMモニターに与えられます。 sync (2)が前にない場合、データは失われます。
(0x4321fedc; 2.1.30以降)。 「Power down。」というメッセージが出力され、システムが停止し、可能であればシステムからすべての電源が切断されます。 sync (2)が前にない場合、データは失われます。
(0xa1b2c3d4; 2.1.30以降)。 「コマンド '%s’でシステムを再起動しています」というメッセージが出力され、すぐに再起動が実行されます(_arg_で指定されたコマンド文字列を使用)。 sync (2)が前にない場合、データは失われます。
(RB_ENABLE_CAD、0x89abcdef)。 CADが有効になっています。 これは、CADキーストロークがLINUX_REBOOT_CMD_RESTARTに関連付けられたアクションをすぐに引き起こすことを意味します。
(RB_DISABLE_CAD、0)。 CADは無効です。 これは、CADキーストロークによりSIGINTシグナルがinit(プロセス1)に送信され、このプロセスが適切なアクション(すべてのプロセスを強制終了、同期、再起動)を決定することを意味します。
この機能を使用できるのはスーパーユーザーのみです。
上記のアクションの正確な効果は、アーキテクチャによって異なります。 i386アーキテクチャの場合、追加の引数は現在何もしていません(2.1.122)が、リブートのタイプはカーネルコマンドライン引数( 'reboot = …')でウォームまたはコールドのいずれかに決定できます。ハードまたはBIOSを介して。
返り値
成功すると、ゼロが返されます。 エラーの場合、-1が返され、_errno_が適切に設定されます。
エラー
Tag | Description |
---|---|
EFAULT | Problem with getting userspace data under LINUX_REBOOT_CMD_RESTART2. |
EINVAL | Bad magic numbers or flag. |
*EPERM * | The calling process has insufficient privilege to call* reboot*(); the CAP_SYS_BOOT capability is required. |
準拠
関連項目
[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]
広告
Advertisements |