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