36.4. 显示调度程序策略的有效范围
您可以使用 sched_get_priority_min () 和 sched_get_priority_max () 函数来检查给定调度程序策略的有效优先级范围。
流程
创建
sched_get.c源文件,并在文本编辑器中打开该文件。$ {EDITOR} sched_get.c在文件中输入以下内容:
#include <stdio.h> #include <unistd.h> #include <sched.h> int 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)); return 0; }注意如果系统不知道指定的调度程序策略,则函数 return
-1和errno被设置为EINVAL。注意SCHED_FIFO和SCHED_RR可以是1到99范围内的任意数字。但是,POSIX 无法保证遵守此范围,而可移植的程序应使用这些功能。- 保存文件并退出编辑器。
编译程序。
$ gcc sched_get.c -o msched_get
sched_get 程序现已就绪,可以从保存它的目录中运行。