Manpages

名 前

nice − プ ロ セ ス の 優 先 度 を 変 更 す る

書 式

#include <unistd.h>

int nice(int inc);

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):

nice(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE

説 明

nice() は inc の 値 を nice を 呼 ん だ プ ロ セ ス の nice 値 に 加 え る (nice 値 が 大 き い 数 値 ほ ど 低 い 優 先 度 を 表 す )。 負 の 数 を 指 定 す る 、 つ ま り 、 以 前 よ り も 優 先 度 を 上 げ る と い う 指 定 が で き る の は ス ー パ ー ユ ー ザ ー だ け で あ る 。 nice 値 の 範 囲 に つ い て は getpriority(2) で 説 明 さ れ て い る 。

返 り 値

成 功 し た 場 合 、 新 し い nice 値 が 返 る (但 し 、 下 記 の 「 注 意 」 を 参 照 )。 失 敗 し た 場 合 −1 が 返 り 、 errno が エ ラ ー の 内 容 に 従 っ て 設 定 さ れ る 。

エ ラ ー

EPERM ス ー パ ー ユ ー ザ ー 以 外 が

inc に 負 の 数 値 を 指 定 し て 優 先 度 を 上 げ よ う

と し た 。 呼 び 出 し 元 の プ ロ セ ス が inc に 負 の 数 値 を 指 定 し て 優 先 度 を 上 げ よ う と し た が 、 十 分 な 権 限 を 持 っ て い な か っ た 。 Linux で は CAP_SYS_NICE ケ ー パ ビ リ テ ィ が 必 要 で あ る 。 (setrlimit(2) の リ ソ ー ス 上 限 RLIMIT_NICE に 関 す る 議 論 も 参 照 の こ と )。

準 拠

SVr4, 4.3BSD, POSIX.1−2001. し か し 、 Linux と (2.2.4よ り 古 い ) (g)libc で は 返 り 値 は 標 準 と 異 な る 。 詳 細 は 以 下 を 参 照 の こ と 。 SVr4 に は 他 に EINVAL エ ラ ー コ ー ド に つ い て の 記 述 が あ る 。

注 意

SUSv2 と POSIX 1003.1−2003 で は 、 nice() は 新 し い nice 値 を 返 す と 規 定 さ れ て い る 。 一 方 、 Linux シ ス テ ム コ ー ル と (2.2.4 よ り 古 い ) (g)libc ラ イ ブ ラ リ 関 数 は 成 功 時 に 0 を 返 す 。 新 し い nice 値 は getpriority(2) を 使 っ て 取 得 で き る 。

glibc 2.2.4 以 降 で は 、 nice() は getpriority(2) を 呼 び 出 す ラ イ ブ ラ リ 関 数 と し て 実 装 さ れ て お り 、 呼 び 出 し 元 に 返 す 新 し い nice 値 を getpriority(2) を 呼 び 出 し て 取 得 す る よ う に な っ て い る 。 こ の 実 装 で は 、 正 常 な 動 作 で も −1 が 返 さ れ る 可 能 性 が あ る 。 確 実 に エ ラ ー を 検 出 す る た め に は 、 呼 び 出 し の 前 に errno に 0 を 設 定 し 、 nice() が −1 を 返 し た と き に errno を チ ェ ッ ク す る と 良 い 。

関 連 項 目

nice(1), renice(1), fork(2), getpriority(2), setpriority(2), capabilities(7), sched(7)

こ の 文 書 に つ い て

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