C語言getpriority()函式:取得程式程式執行優先權

2puT發表於2016-07-22
相關函式:setpriority, nice

標頭檔案:#include <sys/time.h>   #include <sys/resource.h>

定義函式:int getpriority(int which, int who);

函式說明:
getpriority()可用來取得程式、程式組和使用者的程式執行優先權。引數 which 有三種數值, 引數who 則依which 值有不同定義。


which who 代表的意義:
1、PRIO_PROCESS who:為程式識別碼
2、PRIO_PGRP who:為程式的組識別碼
3、PRIO_USER who:為使用者識別碼此函式返回的數值介於-20 至20 之間, 代表程式執行優先權, 數值越低代表有較高的優先次序, 執行會較頻繁.


返回值:返回程式執行優先權, 如有錯誤發生返回值則為-1 且錯誤原因存於errno.

附加說明:由於返回值有可能是-1, 因此要同時檢查errno 是否存有錯誤原因. 最好在呼叫次函式前先清除errno變數.

錯誤程式碼:
1、ESRCH:引數which 或who 可能有錯, 而找不到符合的程式.
2、EINVAL:引數which 值錯誤.

相關文章