nice函式宣告:#include
int nice(int increment);
nice系統呼叫包含getpriority和setpriority這兩個函式
函式宣告:#include
int getpriority(int which, int who);
int setpriority(int which, int who, int prio);
nice系統呼叫是它們的一種組合形式:
int nice(int increment)
#include#include#include#include#include#include#includeint main(int argc,char *argv)
wait(&stat_val);
exit(0);
}
**執行結果:
[dela@server1 dela_c]$ ./a.out
父程序正在執行, 當前程序的pid:18847, 子程序的pid:18848
子程序正在執行,當前pid:0, 父程序pid:18847
old priority = 0
new priority = -1
在上述**中,newpri = nice(6); 輸出的newpri是6, 而newpri = nice(-6); 則輸出的newpri是-1, 這說明在執行這條語句時nice有可能出錯了
不能用errno檢測-1, 因為 int prio 的取值時-20到20, 所以返回-1有可能是出錯,也有可能是設定的優先順序
又因為只要newpri = nice(負值); 輸出的newpri都是-1,由此可判斷是這條語句nice時出錯
prio代表的是程序的執行優先權, 數值越低就代表有較高的優先次序, 執行會比較頻繁,
此優先權預設是0, 而只有超級使用者允許降低此值,這樣就可以解釋為什麼newpri = nice(負值); 會一直出錯了
root使用者執行此段**結果如下:
[dela@server1 dela_c]$ sudo ./a.out
[sudo] password for dela:
父程序正在執行, 當前程序的pid:19592, 子程序的pid:19593
子程序正在執行,當前pid:0, 父程序pid:19592
old priority = 0
new priority = -6
setpriority(int which, int who, int prio);
第三個引數prio的取值介於-20至20之間, 代表程序的執行優先權, 數值越低, 代表具有越高的優先權, 執行會更頻繁, 此優先權預設是0, 而只有超級使用者root才允許降低此值
Linux改變程序優先順序的Nice命令
本文所述nice與renice命令已由管理員在debian與centos中測試通過 vps普遍效能不高,很多人可能有這樣乙個感受,在執行du tar等命令時,會造成系統負載飆公升,apache響應緩慢。這時nice命令改變程序優先順序可能能緩解這種狀況。nice命令用於調整linux系統中程序的優先...
Linux改變程序優先順序的nice命令
前言 vps普遍效能不高,很多人可能有這樣乙個感受,在執行du tar等命令時,會造成系統負載飆公升,apache響應緩慢。這時nice命令改變程序優先順序可能能緩解這種狀況。nice命令用於調整linux系統中程序的優先順序。通俗地講,linux系統中,程序有 19到19這39個優先順序。19最優...
Linux改變程序優先順序的Nice命令
本文所述nice與renice命令已由管理員在debian與centos中測試通過 vps普遍效能不高,很多人可能有這樣乙個感受,在執行du tar等命令時,會造成系統負載飆公升,apache響應緩慢。這時nice命令改變程序優先順序可能能緩解這種狀況。nice命令用於調整linux系統中程序的優先...