31.3. 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(2)
の man ページ