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