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));
    }
    注意

    如果系统不知道指定的调度程序策略,则该函数返回 -1errno 被设置为 EINVAL

    注意

    SCHED_FIFOSCHED_RR 都可以是 199 范围中的任何数字。但是,POSIX 无法遵循这个范围,可移植程序应使用这些调用。

其他资源

  • sched_get_priority_min(2) man page
  • sched_get_priority_max(2) man page