Manpages

名 前

sched_setparam, sched_getparam − ス ケ ジ ュ ー リ ン グ パ ラ メ ー タ ー の 設 定 と 取 得 を 行 な う

書 式

#include <sched.h>

int sched_setparam(pid_t pid, const struct sched_param *param);

int sched_getparam(pid_t pid, struct sched_param *param);

struct sched_param {
...
int
sched_priority;
... };

説 明

sched_setparam() は pid で 指 定 さ れ た プ ロ セ ス の ス ケ ジ ュ ー リ ン グ 方 針 (scheduling policy) に 関 連 す る ス ケ ジ ュ ー リ ン グ パ ラ メ ー タ ー を 設 定 す る 。 pid が 0 な ら ば 、 呼 び 出 し 元 の プ ロ セ ス の パ ラ メ ー タ ー が 設 定 さ れ る 。 引 き 数 param の 解 釈 は 、 pid で 指 定 さ れ た プ ロ セ ス の ス ケ ジ ュ ー リ ン グ 方 針 に よ っ て 異 な る 。 Linux で サ ポ ー ト さ れ て い る ス ケ ジ ュ ー リ ン グ 方 針 の 説 明 は sched(7) を 参 照 の こ と 。

sched_getparam() は pid で 指 定 さ れ た プ ロ セ ス の ス ケ ジ ュ ー リ ン グ パ ラ メ ー タ ー を 取 得 す る 。 pid が 0 な ら ば 、 呼 び 出 し 元 の プ ロ セ ス の パ ラ メ ー タ ー を 取 得 す る 。

sched_setparam() は ス レ ッ ド の ス ケ ジ ュ ー リ ン グ 方 針 に お け る param の 妥 当 性 を チ ェ ッ ク す る 。 param−>sched_priority の 値 は sched_get_priority_min(2)sched_get_priority_max(2) の 範 囲 に 入 っ て い な け れ ば な ら な い 。 ス ケ ジ ュ ー リ ン グ の 優 先 度 と 方 針 に 関 連 す る 特 権 と リ ソ ー ス 制 限 の 議 論 に 関 し て は sched(7) を 参 照 の こ と 。

sched_setparam() と sched_getparam() が 使 用 で き る POSIX シ ス テ ム で は 、 <unistd.h>_POSIX_PRIORITY_SCHEDULING が 定 義 さ れ て い る 。

返 り 値

成 功 し た 場 合 は sched_setparam() と sched_getparam() は 0 を 返 す 。 エ ラ ー の 場 合 は −1 が 返 さ れ 、 errno が 適 切 に 設 定 さ れ る 。

エ ラ ー

EINVAL 無 効 な 引 き 数 :

param が NULL で あ る 、 ま た は pid が 負 で あ る 。

EINVAL

(sched_setparam()) 引 き 数 param が 現 在 の ス ケ ジ ュ ー リ ン グ 方 針 に お い て は 無 意 味 で あ る 。

EPERM

(sched_setparam()) 呼 び 出 し 元 の プ ロ セ ス が 適 切 な 特 権 を 持 っ て い な い (Linux で は 、 CAP_SYS_NICE ケ ー パ ビ リ テ ィ を 持 っ て い な い )。

ESRCH

プ ロ セ ス ID pid の プ ロ セ ス が 見 つ か ら な か っ た 。

準 拠

POSIX.1−2001.

注 意

Linux で は 、 ス ケ ジ ュ ー リ ン グ パ ラ メ ー タ ー は 実 際 に は ス レ ッ ド 単 位 の 属 性 で あ る 。 sched(7) 参 照 。

関 連 項 目

getpriority(2), nice(2), sched_get_priority_max(2), sched_get_priority_min(2), sched_getaffinity(2), sched_getscheduler(2), sched_setaffinity(2), sched_setscheduler(2), sched_setattr(2), setpriority(2), capabilities(7), sched(7)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。