一、介绍
linux 提供了long getpriority(int which,int who) 系统调用用于返回进程,进程组,用户进程的进程优先级,getpriority系统调用实际返回的是进程的nice值,只是对nice值做了转化,返回的是20-nice值。进程的nice值越小,进程的优先级越高,参数which是PRIO_PROCESS,PRIO_PGRP,PRIO_USER中的一个
setpriority 用来设置优先级
二、接口函数
#include <sys/time.h>
#include <sys/resource.h>
int getpriority(int which, id_t who);
int setpriority(int which, id_t who, int prio);
成功返回0,失败-1 并设置errno
which:
#define PRIO_PROCESS 0 //进程
#define PRIO_PGRP 1 //进程组
#define PRIO_USER 2 //用户进程
当参数which为PRIO_PROCESS时,参数who为0,则返回当前进程的进程优先级;参数who不为0,则返回进程号为who的进程的优先级。
当参数which为PRIO_PGRP时,参数who为0,则返回当前进程组的优先级;参数who不为0,则返回进程组号为who的进程组的优先级。进程组的优先级为进程组中优先级最高的进程的优先级。
当参数which为PRIO_USER时,