nice指令詳解
釋出時間:2008-09-27 13:15:38來源:紅聯作者:jerry520
【指令】nice -- 調整程式運作的優先級
【格式】nice [OPTION] [command [arguments...]]
【說明】
在
目前程式運作優先級基礎之上調整指定值得到新的程式運作優先級,用新的程式運作優先級運作指令行"command
[arguments...]"。優先級的範圍為-20 ~ 19
等40個等級,其中數值越小優先級越高,數值越大優先級越低,既-20的優先級最高,
19的優先級最低。若調整後的程式運作優先級高于-20,則就以優先級-20來運作指令行;若調整後的程式運作優先級低于19,則就以優先級19來運作命
令行。若 nice指令未指定優先級的調整值,則以預設值10來調整程式運作優先級,既在目前程式運作優先級基礎之上增加10。
若不帶任何參數運作指令nice,則顯示出目前的程式運作優先級。
例1:
1. # nice
2. 0
3. #在例1中,不用任何參數執行指令"nice"(見第1行),是以顯示出目前的程式運作優先級為0(見第2行)。由此可知系統預設的程式運作優先級為0。
例2:
1. # nice nice
2. 10
3. #在例2中,第1個nice指令以預設值來調整第2個nice指令運作的優先級,既在系統預設的程式運作優先級0的基礎之上增加10,得到新的程式運作優先級10,然後以優先級10來運作第2個nice指令;第2個nice指令顯示目前程式運作的優先級為10。
例3:
1. # nice nice nice
2. 19
3. #在
例3中,第1個nice指令以預設值來調整第2個nice指令運作的優先級,既在系統預設的程式運作優先級0的基礎之上增加10,得到新的程式運作優先級
10,然後以優先級10來運作第2個nice指令;第2個nice指令又以預設值來調整第3個nice指令運作的優先級,既在第2個nice指令運作優先
級基礎之上再增加10,得到新的程式運作優先級20,但20大于最高程式運作優先級19,是以以優先級19來運作第3個nice指令;第3個nice指令
顯示目前程式運作的優先級為19。
【參數說明】
-n, --adjustment=ADJUST 指定程式運作優先級的調整值。
優先級的範圍為-20~19,當調整後的優先級小于-20時,以優先級-20 來運作程式(見例4);當調整後的優先級大于19時,則以19的優先級運作程式(見例5)。
例4:
1. # nice -n -21 nice
2. -20
3. #在例4中,以參數“-n”的形式指定程式運作優先級的調整值,系統預設優先級0加上調整值-21得到新的優先級-21(小于-20),是以程式最終的運作優先級為-20。
例5:
1. # nice --adjustment=20 nice
2. 19
3. #在例5中,以參數“--adjustment=ADJUST”的形式指定程式運作優先級的調整值,系統預設優先級0加上調整值20得到新的優先級20(大于19),是以程式最終的運作優先級為19。
注意:在使用“--adjustment=ADJUST”形式指定程式運作優先級的調整值時,中間的等号可以省略。在例5中,也可運作指令行“nice --adjustment 20 nice”。
還可以使用參數“-ADJUST”的形式來指定程式運作優先級的調整值,其中,ADJUST為指定的程式運作優先級調整值,可以為負數,也可以為正數,如例6所示。
例6:
1. # nice --1 nice
2. -1
3. # nice -+1 nice
4. 1
5. # nice -1 nice
6. 1
7. #在例6中,參數“--1”、“-+1”和 “-1”中的第一個字元“-”都是文法定義的指定程式運作優先級調整值的标志符,第一個字元“-”之後的值為指定的程式運作優先級的調整值。
在nice指令中,可以同時指定多個程式運作優先級調整值,但隻有最後一次指定的數值有效,如例7所示。
例7:
1. # nice -n -20 --adjustment +19 -3 nice
2. 3
3. #在例7中,通過指令行同時指定了優先級調整值“-20”、“+9”和“3”,但最後生效的程式運作優先級調整值為最後指定的數值“3”。
注意:隻有具有root權限的使用者才可以調整高程式運作的優先級,既指定的調整值可以為負數,如例8所示。
例8:
1. # su thinkerABC
2. $ nice -n -1 nice
3. nice: cannot set priority: Permission denied
4. $ nice -n 1 nice
5. 1
6. $在例8中,我們将使用者改為非root使用者權限的thinkerABC,這時調高程式運作優先級1個級别時操作失敗,系統提示權限不足。而調低優先級1個級别時,操作就可以成功。
--help 顯示nice指令的幫助資訊,詳見例9。
例9:
1. # nice --help
2. Usage: nice [OPTION] [COMMAND [ARG]...]
3. Run COMMAND with an adjusted scheduling priority.
4. With no COMMAND, print the current scheduling priority. ADJUST is 10
5. by default. Range goes from -20 (highest priority) to 19 (lowest).
6.
7. -n, --adjustment=ADJUST increment priority by ADJUST first
8. --help display this help and exit
9. --version output version information and exit
10.
11. Report bugs to .
12. #在例9中,用參數“--help”執行nice指令,則顯示該指令的幫助資訊,見例9的第2行~第11行。
--version 輸出nice指令的版本資訊,詳見例10。
例10:
1. # nice --version
2. nice (GNU sh-utils) 2.0.12
3. Written by David MacKenzie.
4.
5. Copyright (C) 2002 Free Software Foundation, Inc.
6. This is free software; see the source for copying conditions. There is NO
7. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8. #在例10中,用參數“--version”運作nice指令,則顯示該指令的版本資訊,見例10的第2行~第7行。(注:本例是在Red Hat 8.0下運作的結果。)