39.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);
struct sched_param sp;
int ret;
ret = sched_getparam(0, &sp);
sp.sched_priority += 2;
ret = sched_setparam(0, &sp);
如果在真实应用程序中使用此代码,则需要从函数检查返回值并适当地处理任何错误。
重要
在递增优先级时请小心。如本例中,持续将两个添加到调度程序优先级时,可能会导致无效的优先级。