在 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 為 234332 的行程、所有 owner 為 daemonroot 的行程 niceness 都加 1

renice +1 987 -u daemon root -p 32

一般的使用者只能使用 renice 指令更改自己的的程式 niceness 值,而且 niceness 只能調高不能調低(因為安全性的因素),但如果是 root 則沒有這樣的限制,以 root 權限執行 renice 就可以設定任意行程的 niceness 值,niceness 可以從 -2020(niceness 值如果設為 20 則代表該行程會在整個系統沒有其他的工作時才被執行)。

參考資料:nixCraft