41.4. 显示调度程序策略的有效范围
sched_get_priority_min()
和 sched_get_priority_max()
函数可用于检查给定调度程序策略的有效优先级范围。
流程
运行以下代码。
#include <stdio.h> #include <unistd.h> #include <sched.h> main() { printf("Valid priority range for SCHED_OTHER: %d - %d\n", sched_get_priority_min(SCHED_OTHER), sched_get_priority_max(SCHED_OTHER)); printf("Valid priority range for SCHED_FIFO: %d - %d\n", sched_get_priority_min(SCHED_FIFO), sched_get_priority_max(SCHED_FIFO)); printf("Valid priority range for SCHED_RR: %d - %d\n", sched_get_priority_min(SCHED_RR), sched_get_priority_max(SCHED_RR)); }
注意如果系统不知道指定的调度程序策略,则该函数返回
-1
和errno
被设置为EINVAL
。注意SCHED_FIFO
和SCHED_RR
都可以是1
到99
范围中的任何数字。但是,POSIX 无法遵循这个范围,可移植程序应使用这些调用。
其他资源
-
sched_get_priority_min(2)
man page -
sched_get_priority_max(2)
man page