renice(8) 実行しているプロセスの優先順位を変更する

書式

renice priority [[-p ] pid ... ] [[-g ] pgrp ... ] [[-u ] user ... ]

説明

renice は動作中のプロセスのスケジューリング優先順位を変更する (複数のプロセスを同時に変更することもできる)。 以下の who パラメータは、プロセス ID、プロセスグループ ID、もしくはユーザ名と して解釈される。 プロセスグループを renice すると、 そのグループに属する全てのプロセスのスケジューリング優先順位が変更される。 ユーザ名に対する renice を行うと、 そのユーザが所有している全てのプロセスのスケジューリング優先順位が 変更される。 デフォルトでは、プロセス ID によって指定されたプロセスが処理対象となる。

renice のサポートするオプションは以下の通り:

-g
強制的に who パラメータをプロセスグループの ID として解釈する。
-u
強制的に who パラメータをユーザ名として解釈する。
-p
who がプロセス ID として解釈されるようにリセットする (これはデフォルトの解釈である)。

例えば

renice +1 987 -u daemon root -p 32

プロセス ID 987 と 32 の優先度と、ユーザ daemon と root によって 所有されている全てのプロセスの優先度を変更する。

スーパーユーザでないユーザは、 自分が所有しているプロセスの優先度しか変更できない。 また ``nice 値'' を増やすことしかできない。 増やせる値は 0 から PRIO_MAX (20) までの範囲である。 (これは最重要なシステム管理命令を妨げないためである) スーパーユーザはあらゆるプロセスの優先度を変更でき、 PRIO_MIN (-20) から PRIO_MAX の範囲で優先度の値を変更できる。 便利な優先度は: 20 (影響されたプロセスは、システムに実行するものがない場合だけ実行される) 0 (``基本'' のスケジューリング優先度)、 負の値 (とても早く実行される)

ファイル

/etc/passwd
ユーザ名とユーザIDの対応を取る。

バグ

スーパユーザでないユーザは、一度スケジューリング優先度を 減らされたプロセスに関しても、これを増やすことはできない。
linux カーネル (現在 2.0.0) と linux libc (現在 5.2.18) とでは、 nice 値を設定するシステムコールのインターフェースが完全に同じでない。 したがって renice は 変更前の nice 値として正しい値を返さないことがある。

履歴

renice は BSD 4.0 から登場した。