sched_getscheduler(2) FreeBSD 一般コマンドマニュアル

sched_getscheduler

前のページ 上に戻る 次のページ

sched_getscheduler


     Standard C Library (libc, -lc)


書式

     #include <sched.h>

     int
     sched_setscheduler(pid_t pid, int policy,
             const struct sched_param *param);

     int
     sched_getscheduler(pid_t pid);


解説

     sched_setscheduler() 関数は、 pid で指定したプロセスのスケジュール方針と
     スケジュールパラメータを、それぞれ、 policy および param が指す
     sched_param 構造体の指定するパラメータに設定します。 param 構造体のメンバ
     sched_priority の値は、 policy で指定するスケジュール方針用の優先度範囲内
     (両端含む) の整数である必要があります。

     この実装では、 pid の値が負である場合、関数は処理に失敗します。

     pid で指定するプロセスが存在し、かつ呼び出し元プロセスにパーミッションが
     ある場合、プロセス ID が pid と等しいプロセスに対してスケジュール方針とス
     ケジュールパラメータを設定します。

     pid が 0 の場合、呼び出し元プロセスに対してスケジュール方針とスケジュール
     パラメータを設定します。

     この実装では、あるプロセスが別のプロセスのスケジュールパラメータにいつ影
     響を及ぼせるのかという方針は、書き込みスタイル操作として p1003_1b に指定
     されているものです。

     スケジュール方針は <sched.h> 内にあります。

     [SCHED_FIFO]   ラウンドロビンスケジュールのない、先入先出 (FIFO) 優先順位
                    固定スケジュール。

     [SCHED_OTHER]  標準のタイムシェアリングスケジューラ。

     [SCHED_RR]     同じ優先順位のプロセス間でのラウンドロビンスケジュール。

     sched_param 構造体は <sched.h> に定義されています。

           struct sched_param {
                   int sched_priority;     /* スケジュール優先順位 */
           };

     sched_getscheduler() 関数は、 pid で指定するプロセスのスケジュール方針を
     返します。

     pid で指定するプロセスが存在してかつ、呼び出し元プロセスにパーミッション
     がある場合、プロセス ID が pid に等しいプロセスのスケジュールパラメータを
     処理に失敗すると、 errno を対応する値に設定します。

     [ENOSYS]           システムは、この機能をサポートするように構成されていま
                        せん。

     [EPERM]            要求しているプロセスは p1003_1b で詳説されているパー
                        ミッションを持っていません。

     [ESRCH]            pid で指定したプロセスに対応するプロセスが見つかりませ
                        ん。

     [EINVAL]           policy パラメータの値が無効であるか、または param に含
                        まれている 1 つまたは複数のパラメータが、指定されたス
                        ケジュール方針で有効な範囲の外にあります。


関連項目

     sched_getparam(2), sched_get_priority_max(2), sched_get_priority_min(2),
     sched_rr_get_interval(2), sched_setparam(2), sched_yield(2)


規格

     sched_setscheduler() 関数と sched_getscheduler() 関数は IEEE Std
     1003.1b-1993 (``POSIX.1'') に準拠しています。

FreeBSD 4.4                     March 12, 1998                     FreeBSD 4.4

ABELNET VPSサービス