44.3. 使用库调用设置进程优先级参数

sched_setparam() 函数用于设置特定进程的调度参数。然后可以使用 sched_getparam() 函数进行验证。

sched_getscheduler() 函数不同的是仅返回调度策略,sched_getparam() 函数会返回给定进程的所有调度参数。

流程

使用以下代码摘录,它读取给定实时进程的优先级并增加两个代码:

struct sched_param sp;
int ret;

ret = sched_getparam(0, &sp);
sp.sched_priority += 2;
ret = sched_setparam(0, &sp);

如果这个代码用于真实应用程序,则需要从函数检查返回值并适当处理任何错误。

重要

请注意递增优先级。不断向调度程序优先级添加两个,如本例中所示,可能最终导致优先级无效。