31.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; }
注記指定されたスケジューラーポリシーがシステムに認識されていない場合、関数は
-1
を返し、errno
はEINVAL
に設定されます。注記SCHED_FIFO
およびSCHED_RR
はどちらも1
~99
の範囲内の任意の数値にすることができます。POSIX がこの範囲に従う保証はありませんが、移植可能なプログラムはこれらの関数を使用する必要があります。- ファイルを保存して、エディターを終了します。
プログラムをコンパイルします。
$ gcc sched_get.c -o msched_get
これで sched_get
プログラムの準備が整い、保存先のディレクトリーから実行できるようになりました。
関連情報
-
sched_get_priority_min(2)
の man ページ -
sched_get_priority_max(2)
の man ページ