Nice 命令
系统内核依据进程的优先级决定了进程使用CPU的时间, 而这个nice
命令则是改变进程优先级的一个工具.
进程优先级的范围, 是[-20, 20], 不能多也不能少.
需要 注意 的是, -20 是最高的优先级, 系统会优先运行这个进程, 而 20则是最低的优先级.
还需要 注意 的是, 只有root才能设置负数的优先级, 普通用户只能设置从0到20的优先级.
语法也很简单:
nice -[value from -20 to 20] command
举例子:
$ ./nice-test.sh &
[3] 13009
$ ps axl | grep nice-test
0 509 13009 12863 17 0 4652 972 wait S pts/1 0:00 /bin/bash ./nice-test.sh
[注意: 第六列的优先级的值为0.]
$ nice -10 ./nice-test.sh &
[1] 13016
然后
$ ps axl | grep nice-test
0 509 13016 12863 30 10 4236 0:00 /bin/bash ./nice-test.sh
[注意: 这里的优先级变成10了(优先级降低了)]
下面在看一个错误:
$ nice --10 ./nice-test.sh &
[1] 13021
$ nice: cannot set priority: Permission denied
为啥哩?
刚才我们说过, 只有root才能设置负数的优先级:
# nice --10 ./nice-test.sh &
[1] 13060
# ps axl | grep nice-test
4 0 13060 13024 10 -10 5388 964 wait S< pts/1 0:00 /bin/bash ./nice-test.sh 964 wait S< pts/1