在 Linux 中如果要改變程式執行的優先權,可以使用 nice 指令,但如果是執行到一半的程式要更改執行優先權的話,就沒辦法用 nice,這時候就可以使用 renice
這個指令。
renice
是專門用於更改正在執行程式的 niceness 值,讓程式在不需要重新執行的情況下,就可以馬上改變執行的優先權,其使用方式如下:
renice NUM PID
其中 PID
是行程(想要更改 niceness 值的行程) ID,而 NUM
是新的 niceness 值。
以下是一些範例:
Example 1
將行程 ID 為 2343
的行程 niceness 值設為 19
:
renice 19 2343
Example 2
將行程 ID 為 2343
的行程與所有 seal 使用者的行程 niceness 值都加 1
:
renice +1 2343 -u seal
Example 3
將行程 ID 為 2343
與 32
的行程、所有 owner 為 daemon
與 root
的行程 niceness 都加 1
:
renice +1 987 -u daemon root -p 32
一般的使用者只能使用 renice
指令更改自己的的程式 niceness 值,而且 niceness 只能調高不能調低(因為安全性的因素),但如果是 root
則沒有這樣的限制,以 root
權限執行 renice
就可以設定任意行程的 niceness 值,niceness 可以從 -20
到 20
(niceness 值如果設為 20
則代表該行程會在整個系統沒有其他的工作時才被執行)。
參考資料:nixCraft