.\" Updated 2005-10-07, Akihiro MOTOKI
.\"
.TH NICE 2 2007-07-26 "Linux" "Linux Programmer's Manual"
-.SH ̾Á°
-nice \- ¥×¥í¥»¥¹¤ÎÍ¥ÀèÅÙ¤òÊѹ¹¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+nice \- プロセスの優先度を変更する
+.SH 書式
.B #include <unistd.h>
.sp
.BI "int nice(int " inc );
.sp
.in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
.RB ( feature_test_macros (7)
-»²¾È):
+参照):
.in
.sp
.BR nice ():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE
-.SH ÀâÌÀ
+.SH 説明
.BR nice ()
-¤Ï
+は
.I inc
-¤ÎÃͤò
+の値を
.B nice
-¤ò¸Æ¤ó¤À¥×¥í¥»¥¹¤Î nice Ãͤ˲䨤ë
-(nice Ãͤ¬Â礤¤¿ôÃͤۤÉÄ㤤ͥÀèÅÙ¤òɽ¤¹)¡£
-Éé¤Î¿ô¤ò»ØÄꤹ¤ë¡¢¤Ä¤Þ¤ê¡¢°ÊÁ°¤è¤ê¤âÍ¥ÀèÅÙ¤ò¾å¤²¤ë¤È¤¤¤¦»ØÄ꤬¤Ç¤¤ë¤Î¤Ï
-¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤À¤±¤Ç¤¢¤ë¡£
-nice ÃͤÎÈϰϤˤĤ¤¤Æ¤Ï
+を呼んだプロセスの nice 値に加える
+(nice 値が大きい数値ほど低い優先度を表す)。
+負の数を指定する、つまり、以前よりも優先度を上げるという指定ができるのは
+スーパーユーザーだけである。
+nice 値の範囲については
.BR getpriority (2)
-¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¡¢¿·¤·¤¤ nice Ãͤ¬ÊÖ¤ë (⤷¡¢²¼µ¤Î¡ÖÃí°Õ¡×¤ò»²¾È)¡£
-¼ºÇÔ¤·¤¿¾ì¹ç \-1 ¤¬Ê֤ꡢ
+で説明されている。
+.SH 返り値
+成功した場合、新しい nice 値が返る (但し、下記の「注意」を参照)。
+失敗した場合 \-1 が返り、
.I errno
-¤¬¥¨¥é¡¼¤ÎÆâÍƤ˽¾¤Ã¤ÆÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+がエラーの内容に従って設定される。
+.SH ã\82¨ã\83©ã\83¼
.TP
.B EPERM
-¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼°Ê³°¤¬
+スーパーユーザー以外が
.I inc
-¤ËÉé¤Î¿ôÃͤò»ØÄꤷ¤ÆÍ¥ÀèÅÙ¤ò¾å¤²¤è¤¦¤È¤·¤¿¡£
-¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤¬
+に負の数値を指定して優先度を上げようとした。
+呼び出し元のプロセスが
.I inc
-¤ËÉé¤Î¿ôÃͤò»ØÄꤷ¤ÆÍ¥ÀèÅÙ¤ò¾å¤²¤è¤¦¤È¤·¤¿¤¬¡¢
-½½Ê¬¤Ê¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¡£
-Linux ¤Ç¤Ï
+に負の数値を指定して優先度を上げようとしたが、
+十分な権限を持っていなかった。
+Linux では
.B CAP_SYS_NICE
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬É¬ÍפǤ¢¤ë¡£
+ケーパビリティが必要である。
.RB ( setrlimit (2)
-¤Î¥ê¥½¡¼¥¹¾å¸Â
+のリソース上限
.B RLIMIT_NICE
-¤Ë´Ø¤¹¤ëµÄÏÀ¤â»²¾È¤Î¤³¤È)¡£
-.SH ½àµò
+に関する議論も参照のこと)。
+.SH 準拠
SVr4, 4.3BSD, POSIX.1-2001.
-¤·¤«¤·¡¢Linux ¤È (2.2.4¤è¤ê¸Å¤¤) (g)libc ¤Ç¤ÏÊÖ¤êÃͤÏɸ½à¤È°Û¤Ê¤ë¡£
-¾ÜºÙ¤Ï°Ê²¼¤ò»²¾È¤Î¤³¤È¡£
-SVr4 ¤Ë¤Ï¾¤Ë
+しかし、Linux と (2.2.4より古い) (g)libc では返り値は標準と異なる。
+詳細は以下を参照のこと。
+SVr4 には他に
.B EINVAL
-¥¨¥é¡¼¥³¡¼¥É¤Ë¤Ä¤¤¤Æ¤Îµ½Ò¤¬¤¢¤ë¡£
-.SH Ãí°Õ
-SUSv2 ¤È POSIX 1003.1-2003 ¤Ç¤Ï¡¢
+エラーコードについての記述がある。
+.SH 注意
+SUSv2 と POSIX 1003.1-2003 では、
.BR nice ()
-¤Ï¿·¤·¤¤ nice ÃͤòÊÖ¤¹¤Èµ¬Äꤵ¤ì¤Æ¤¤¤ë¡£
-°ìÊý¡¢Linux ¥·¥¹¥Æ¥à¥³¡¼¥ë¤È (2.2.4 ¤è¤ê¸Å¤¤) (g)libc ¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ï
-À®¸ù»þ¤Ë 0 ¤òÊÖ¤¹¡£¿·¤·¤¤ nice ÃͤÏ
+は新しい nice 値を返すと規定されている。
+一方、Linux システムコールと (2.2.4 より古い) (g)libc ライブラリ関数は
+成功時に 0 を返す。新しい nice 値は
.BR getpriority (2)
-¤ò»È¤Ã¤Æ¼èÆÀ¤Ç¤¤ë¡£
+を使って取得できる。
-glibc 2.2.4 °Ê¹ß¤Ç¤Ï¡¢
+glibc 2.2.4 以降では、
.BR nice ()
-¤Ï
+は
.BR getpriority (2)
-¤ò¸Æ¤Ó½Ð¤¹¥é¥¤¥Ö¥é¥ê´Ø¿ô¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê¡¢
-¸Æ¤Ó½Ð¤·¸µ¤ËÊÖ¤¹¿·¤·¤¤ nice Ãͤò
+を呼び出すライブラリ関数として実装されており、
+呼び出し元に返す新しい nice 値を
.BR getpriority (2)
-¤ò¸Æ¤Ó½Ð¤·¤Æ¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
-¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢Àµ¾ï¤ÊÆ°ºî¤Ç¤â \-1 ¤¬ÊÖ¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¡£
-³Î¼Â¤Ë¥¨¥é¡¼¤ò¸¡½Ð¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
-¸Æ¤Ó½Ð¤·¤ÎÁ°¤Ë
+を呼び出して取得するようになっている。
+この実装では、正常な動作でも \-1 が返される可能性がある。
+確実にエラーを検出するためには、
+呼び出しの前に
.I errno
-¤Ë 0 ¤òÀßÄꤷ¡¢
+に 0 を設定し、
.BR nice ()
-¤¬ \-1 ¤òÊÖ¤·¤¿¤È¤¤Ë errno ¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤ÈÎɤ¤¡£
-.SH ´ØÏ¢¹àÌÜ
+が \-1 を返したときに errno をチェックすると良い。
+.SH 関連項目
.BR nice (1),
.BR renice (1),
.BR fork (2),