頭檔案
#include<sys/time.h>
#include<sys/resource.h>
函式原型
int setpriority(int which,int who, int prio);
說明
setpriority()可用來設定進程、進程組和用戶的進程執行優先權。參數which有三種數值,參數who則依which值有不同定義:
which who代表的意義
PRIO_PROCESS who為進程識別碼
PRIO_PGRP who為進程的組識別碼
PRIO_USER who為用戶識別碼
參數prio介於-20至20之間。代表進程執行優先權,數值越低代表有較高的優先次序,執行會較頻繁。此優先權默認是0,而只有超級用戶(root)允許降低此值。執行成功則返回0,如果有錯誤發生返回值則為-1,錯誤原因存於errno。
ESRCH 參數which或who可能有錯,而找不到符合的進程
EINVAL 參數which值錯誤。
EPERM 許可權不夠,無法完成設定
EACCES 一般用戶無法降低優先權