37.4. sched_getscheduler() を使用してプロセスの優先度を表示する
リアルタイムプロセスでは、一連の関数を使用してポリシーと優先順位を制御します。sched_getscheduler() 関数を使用して、指定したプロセスのスケジューラーポリシーを表示できます。
手順
get_sched.cソースファイルを作成し、テキストエディターで開きます。$ {EDITOR} get_sched.cファイルに以下の行を追加します。
#include <sched.h> #include <unistd.h> #include <stdio.h> int main() { int policy; pid_t pid = getpid(); policy = sched_getscheduler(pid); printf("Policy for pid %ld is %i.\n", (long) pid, policy); return 0; }policy変数は、指定されたプロセスのスケジューラーポリシーを保持します。プログラムをコンパイルします。
$ gcc get_sched.c -o get_schedさまざまなポリシーでプログラムを実行します。
$ chrt -o 0 ./get_sched Policy for pid 27240 is 0. $ chrt -r 10 ./get_sched Policy for pid 27243 is 2. $ chrt -f 10 ./get_sched Policy for pid 27245 is 1.ヒントsched_getscheduler()関数の詳細は、お使いのシステムのsched_getscheduler(2)の man ページを参照してください。