nice/renice コマンド

存在は知っていたけど,
必要はなかったので使ったことがありませんでした.

% man nice
nice(1)                                                                nice(1)



名前
       nice - スケジュール優先度を変更してプログラムを実行する

書式
       nice  [-n  adjustment] [-adjustment] [--adjustment=adjustment] [command
       [arg...]]

       nice [--help] [--version]

説明
       引数なしで実行すると、 nice は自身が継承したスケジューリング優先度を 表
       示 する。それ以外の場合には、 nice はスケジューリング優先度を調整してか
       ら与えられた command を実行する。


とのことなのでやってみますと, 以下のようなエラー.

% echo $SHELL
/bin/tcsh
% nice -n 5 date
nice: Badly formed number.
% nice --help
nice: Badly formed number.
% which nice
nice: shell build-in command.
% renice 
usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]

tcsh の build-in なので nice(1) (** /usr/bin/nice) とは別物らしいです.

priority には +/- が必須.
bash なときは manpage に従えば良い.

% nice +5 date
Mon Jun  9 17:00:00 JST 2008
% bash
$ nice -n 5 date
Mon Jun  9 17:00:00 JST 2008

その他

% top

....

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      15   0  1944  644  552 S  0.0  0.1   0:01.12 init
    2 root      34  19     0    0    0 S  0.0  0.0   0:00.20 ksoftirqd/0
    3 root      10  -5     0    0    0 S  0.0  0.0   0:00.02 events/0
% ps -eo pid,ni,comm
  PID  NI COMMAND
    1   0 init
    2  19 ksoftirqd/0
    3  -5 events/0

NI が優先度の項目. nice の頭文字.

参考 URL

http://www.drk7.jp/MT/archives/001333.html
http://x68000.q-e-d.net/~68user/unix/pickup?nice
http://x68000.q-e-d.net/~68user/unix/pickup?renice

Google 先生に聞くときには nice より renice のほうが noise が少なくて良ろし.