Linux提供了获取和设置进程nice值的系统调用,最简单的就是nice():
#include
int nice (int inc);
成功调用nice()将现有优先级上增加inc,并返回新值。只有拥有CAP_SYS_NICE能力(实际上,就是root所有的进程 )才能够使用负值inc,减少友好度,增加优先级。 因此,非root进程只能降低优先级(增加nice值)。
遇到错误,nice()返回-1,但是-1页可能是成功时的返回值,因此为了区别成功与否,在调用前应该对errno置0,调用后检查。举例来说:
int ret;
errno = 0;
ret = nice (10);
if (ret == -1&& errno !=0)
perror ("nice");
else
printf("nice value is now %d\n", ret);
阅读(1298) | 评论(0) | 转发(0) |