进程可以通过sched_getscheduler()和sched_setscheduler()来操作Linux调度策略:
#include
struct sched_param{
int sched_priority;
};
int sched_getscheduler(pid_t pid);
int sched_setscheduler(pid_t pid,int policy,const struct sched_param *sp);
成功调用sched_getscheduler()会返回由pid指定的进程的调度策略。如果pid值为0,
则返回调用进程的调度策略。中定义了一个整数,表示调度策略:
SCHED_FIFO表示先进先出策略,SCHED_RR表示轮询策略,SCHED_OTHER表示
普通策略。出错时,函数值返回-1,同时相应的设置errno值。
以下代码显示sched_getscheduler()的用法:
编译:
运行: