分類: Linux

使用 renice 指令更改 Unix/Linux 上面程式執行的優先權(Scheduling Priority)

在 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

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: 指令

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

2 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

2 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

3 年 ago