日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
SCHED_SETSCHEDULER(2) FreeBSD システムコールマニュアル SCHED_SETSCHEDULER(2)
名称
sched_setscheduler, sched_getscheduler -- スケジューリングのポリシとスケ
ジューラのパラメータを設定/取得する
ライブラリ
標準 C ライブラリ (libc, -lc)
書式
#include <sched.h>
int
sched_setscheduler(pid_t pid, int policy,
const struct sched_param *param);
int
sched_getscheduler(pid_t pid);
解説
sched_setscheduler() システムコールは、それぞれ pid によって指定されたプ
ロセスのスケジューリングポリシとスケジューリングパラメータを policy と
param によって指された sched_param 構造体で指定されたパラメータに設定しま
す。param 構造体の sched_priority メンバの値は、policy によって指定された
スケジューリングポリシのための両端を含めて優先度の範囲内のあらゆる整数で
なければなりません。
この実装で、pid の値が負であるなら、システムコールは、失敗します。
pid によって指定されたプロセスが存在し、呼び出しているプロセスにパーミッ
ションがあるなら、スケジューリングポリシとスケジューリングパラメータは、
プロセス ID が pid と等しいプロセスに設定されます。
pid が 0 であるなら、スケジューリングポリシとスケジューリングパラメータ
は、呼び出しているプロセスに設定されます。
この実装で、プロセスが別のプロセスのスケジューリングパラメータに影響する
かもしれないときのポリシは、書き込みスタイル操作として IEEE Std
1003.1b-1993 (``POSIX.1'') で指定されます。
スケジューリングポリシは、<sched.h> にあります:
[SCHED_FIFO] ラウンドロビンのスケジューリングがない先入れ先出しの固定さ
れた優先度のスケジューリング。
[SCHED_OTHER] 標準のタイムシェアリングのスケジューラ。
[SCHED_RR] 同じ優先度のプロセスに渡るラウンドロビンのスケジューリン
グ。
sched_param 構造体は、<sched.h> で定義されています:
struct sched_param {
int sched_priority; /* スケジュールの優先度 */
};
sched_getscheduler() システムコールは、pid によって指定されたプロセスのス
ケジューリングポリシを返します。
pid によって指定されたプロセスが存在し、呼び出しているプロセスにパーミッ
ションがあるなら、プロセス ID が pid と等しいプロセスのためのスケジューリ
ングパラメータが返されます。
この実装で、プロセスが別のプロセスのスケジューリングパラメータを取得する
ことができるときのポリシが、読み込みスタイル操作として IEEE Std
1003.1b-1993 (``POSIX.1'') で詳しく述べられます。
pid が 0 であるなら、呼び出しているプロセスのためのスケジューリングパラ
メータは、返されます。この実装で、sched_getscheduler システムコールは、
pid が負であるなら、失敗します。
戻り値
成功して終了したときには値 0 を返します。そうでない場合、値 -1 が返され、
グローバル変数 errno にエラーを示す値が設定されます。
エラー
失敗の場合に、errno は、次の対応する値に設定されまする
[ENOSYS] システムが、この機能をサポートするように設定されていま
せん。
[EPERM] 要求しているプロセスに IEEE Std 1003.1b-1993
(``POSIX.1'') で詳しく述べられているようなパーミッショ
ンがありません。
[ESRCH] pid によって指定されたプロセスに対応するプロセスを見つ
けることができません。
[EINVAL] policy 引数の値が、無効であるか、または param に含まれ
ているパラメータの 1 つ以上が、指定されたスケジューリ
ングポリシのための有効な範囲の外側です。
関連項目
sched_get_priority_max(2), sched_get_priority_min(2), sched_getparam(2),
sched_rr_get_interval(2), sched_setparam(2), sched_yield(2)
規格
sched_setscheduler() と sched_getscheduler() システムコールは、IEEE Std
1003.1b-1993 (``POSIX.1'') に適合しています。
FreeBSD 13.2 March 12, 1998 FreeBSD 13.2