11.3.2. sched_setscheduler
スケジューラーポリシーおよびその他のパラメーターは、
sched_setscheduler()
関数を使用して設定できます。現在、リアルタイムポリシーには 1 つのパラメーターsched_priority
があります。このパラメーターは、プロセスの優先度を調整するために使用されます。
この
sched_setscheduler
関数には、sched_setscheduler(pid_t pid, int policy, const struct sched_param *sp);
の 3 つのパラメーターが必要です。
注記
sched_setscheduler
(2) man ページは、エラーコードを含む sched_setscheduler
の考えられる値を一覧表示します。
pid
が ゼロの場合、sched_setscheduler()
関数は呼び出しプロセスで動作します。
以下のコードの抜粋は、現在のプロセスのスケジューラーポリシーを
SCHED_FIFO
に、優先度を 50 に設定します。
struct sched_param sp = { .sched_priority = 50 }; int ret; ret = sched_setscheduler(0, SCHED_FIFO, &sp); if (ret == -1) { perror("sched_setscheduler"); return 1; }