11.3.4. sched_get_priority_min および sched_get_priority_max
sched_get_priority_min
および sched_get_priority_max
関数は、指定のスケジューラーポリシーの有効な優先度範囲を確認するために使用されます。
指定したスケジューラーポリシーがシステムによって認識されていない場合は、この呼び出しで唯一のエラーが発生します。この場合、関数は
-1
を返し、EINVAL
は errno
に設定されます。
#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)); }
注記
SCHED_FIFO
と SCHED_RR
は両方とも、1 から 99 の範囲で数値指定できます。POSIX は、この範囲を適用する保証はありませんが、移植可能なプログラムはこれらの呼び出しを使用する必要があります。