糯米文學吧

位置:首頁 > 計算機 > C語言

c語言如何設置程序進程執行優先權

C語言1.38W

使用setpriority()函數設置程序進程執行優先權:

c語言如何設置程序進程執行優先權

文件

#include#include

定義函數:

int setpriority(int which, int who, int prio);

函數説明:setpriority()可用來設置進程、進程組和用户的進程執行優先權。參數which 有三種數值, 參數who 則依which 值有不同定義。

which who 代表的'意義:

1、PRIO_PROCESS who 為進程識別碼

2、PRIO_PGRP who 為進程的組識別碼

3、PRIO_USER who 為用户識別碼

參數prio 介於-20 至20 之間. 代表進程執行優先權, 數值越低代表有較高的優先次序, 執行會較頻繁. 此優先權默認是0, 而只有超級用户 (root)允許降低此值.

返回值:

執行成功則返回0, 如果有錯誤發生返回值則為-1, 錯誤原因存於errno.

1、ESRCH:參數which 或who 可能有錯, 而找不到符合的進程

2、EINVAL:參數which 值錯誤.

3、EPERM:權限不夠, 無法完成設置

4、EACCES:一般用户無法降低優先權