書式
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 から登場した。