NICE
Section: Linux Programmer's Manual (2)
Updated: 2007-07-26
Index
JM Home Page
roff page
名前
nice - プロセスの優先度を変更する
書式
#include <unistd.h>
int nice(int inc);
glibc 向けの機能検査マクロの要件
(feature_test_macros(7)
参照):
getcwd():
_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),
fork(2),
getpriority(2),
setpriority(2),
capabilities(7),
renice(8)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:54 GMT, November 19, 2007