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]
ラウンドロビンスケジュールのない、先入先出 (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 の場合、呼び出し元プロセスのスケジュールパラメータを返します。こ の実装では、 pid が負の場合、 sched_getscheduler システムコールは処理に失 敗します。 |
戻り値
成功して終了したときには値 0 を返します。そうでない場合、値 -1 が返され、 グローバル変数 errno が設定されてエラーを示します。 |
エラー
処理に失敗すると、 errno を対応する値に設定します。 |
[ENOSYS]
システムは、この機能をサポートするように構成されていま せん。 [EPERM] [ESRCH] [EINVAL] 関連項目 |
sched_getparam(2), sched_get_priority_max(2), sched_get_priority_min(2), sched_rr_get_interval(2), sched_setparam(2), sched_yield(2) |
規格
sched_setscheduler() システムコールと sched_getscheduler() システムコール は IEEE Std 1003.1b-1993 (‘‘POSIX.1’’) に準拠しています。 FreeBSD 10.0 March 12, 1998 FreeBSD 10.0 |