天天看點

linux的nice指令用法,nice指令詳解

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下運作的結果。)