Menu Close
Settings Close

Language and Page Formatting Options

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;
}