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 值越低)。