39.4. 为进程设置调度策略和相关属性
sched_setattr () 函数为 PID 中指定的实例 ID 设置调度策略及其关联的属性。当 pid=0 时,sched_setattr () 会对调用线程的进程和属性执行操作。
流程
-
调用
sched_setattr ()指定调用操作的进程 ID,以及以下实时调度策略之一:
实时调度策略
SCHED_FIFO- 调度第一内和第一出策略。
SCHED_RR- 调度循环策略。
SCHED_DEADLINE- 调度截止时间调度策略。
Linux 还支持以下非实时调度策略:
非实时调度策略
SCHED_OTHER- 调度标准循环时间共享策略。
SCHED_BATCH- 调度进程的"批量"风格执行。
SCHED_IDLE调度非常低的优先级的后台作业。
SCHED_IDLE只能以静态优先级0使用,而 nice 值对此策略没有影响。此策略旨在以非常低的优先级运行作业(低于使用
SCHED_OTHER或SCHED_BATCH策略的 +19 nice 值)。