renice -
動作中のプロセスの優先度を変更する
renice [
-n]
priority [
-g|
-p|
-u]
identifier...
renice
は、動作中のプロセス
(複数指定可)
のスケジューリング優先度を変更する。
1
番目の引き数は、使用したい優先度
(
priority)
である。それ以外の引き数は、プロセス
ID
(デフォルト)、プロセスグループ
ID、ユーザ ID、
ユーザ名と見なされる。プロセスグループを
renice
の対象にすると、そのプロセスグループに属するすべてのプロセスのスケジューリング優先度が変更される。
ユーザを対象にした場合は、そのユーザが所有するすべてのプロセスのスケジューリング優先度が変更される。
-
-n, --priority priority
- プロセス、プロセスグループ、もしくはユーザに対して使用したいスケジューリング優先度
priotity を指定する。-n
や --priotity
オプションの使用は任意だが、使用するなら、最初の引き数にしなければならない
(訳注:
実質的な最初の引き数は、常に優先度であり、その前に
-n や --priority
を付けるか、付けないかは自由だということ)。
-
-g, --pgrp
- 後に続く引き数群をプロセスグループ
ID と見なす。
-
-p, --pid
- 後に続く引き数群をプロセス
ID と見なす
(デフォルト)。
-
-u, --user
- 後に続く引き数群をユーザー名、または
UID と見なす。
-
-V, --version
- バージョン情報を表示して終了する。
-
-h, --help
- ヘルプを表示して終了する。
- /etc/passwd
- ユーザ名とユーザ
ID
を対応させている。
スーパーユーザ以外のユーザが変更できるのは、自分が所有するプロセスの優先度だけである。
それだけではない。非特権ユーザは、“nice
値” を増やす
(言い換えれば、優先度を下げる)
ことしかできず、そうした変更を元に戻すことすらできない。ただし、(Linux
2.6.12 以降で)
ユーザが適切な “nice”
リソースリミットを持っている場合は、そのかぎりではない
(
ulimit(1p),
getrlimit(2) を参照)。
スーパーユーザは、どんなプロセスの優先度でも変更できるし、優先度を
-20 から 19
の範囲のどんな値にも設定することができる。有用な優先度には次のものがある。19
(この優先度を与えられたプロセスが動作するのは、
動作しようとする他のプロセスがシステム中に存在しないときだけになる)、0
(基本となるスケジューリング優先度)、負の数
(動作がきわめて速くなる)。
renice
コマンドが初登場したのは、4.0BSD だった。
次のコマンドを使うと、PID
が 987 と 32
のプロセス、及び daemon
と root
ユーザの所有するすべてのプロセスの優先度を変更することになる。
- renice +1 987 -u daemon root -p 32
nice(1),
chrt(1),
getpriority(2),
setpriority(2),
credentials(7),
sched(7)
この renice
コマンドは、util-linux
パッケージの一部であり、Linux
Kernel Archive <
https://www.kernel.org/pub/linux/utils/util-linux/>
から入手できる。