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

rtprio

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

rtprio


     Standard C Library (libc, -lc)


書式

     #include <sys/types.h>
     #include <sys/rtprio.h>

     int
     rtprio(int function, pid_t pid, struct rtprio *rtp);


解説

     rtprio() を使用して、プロセスのリアルタイム / アイドル優先順位を取得また
     は変更します。

     function で実行する操作を指定します。現在の優先順位を取得するには
     RTP_LOOKUP、優先順位を設定するには RTP_SET です。 pid は、対象のプロセス
     を指定します。現在のプロセスを指定するには 0 を使います。

     *rtp は、優先順位と優先順位のタイプを指定するのに使用する struct rtprio
     を指すポインタです。この構造体は次の型です。

     struct rtprio {
             u_short type;
             u_short prio;
     };

     type の値は、リアルタイム優先順位については RTP_PRIO_REALTIME、通常の優先
     順位については RTP_PRIO_NORMAL、アイドル優先順位については RTP_PRIO_IDLE
     です。 prio によって指定する優先順位は、0 から RTP_PRIO_MAX (通常は 31)
     の範囲になります。0 が指定可能な最高の優先順位です。

     リアルタイム優先順位とアイドル優先順位は、 fork() と exec() を通じて継承
     されます。

     リアルタイムプロセスは、それ以上の優先順位をもつプロセス、または割り込み
     によってだけ優先権を取得できます。アイドル優先順位のプロセスは、他のリア
     ルタイムまたは通常の優先順位プロセスが実行可能でないときにだけ実行されま
     す。優先順位の高いリアル / アイドルのプロセスは優先順位の低いリアル / ア
     イドルのプロセスから優先権を取得します。優先順位が等しいリアル / アイドル
     のプロセスはラウンドロビン方式で実行されます。


戻り値

     関数 rtprio() は、処理が成功すると値 0 を返します。そうでない場合、値 -1
     が返され、グローバル変数 errno が設定されてエラーを示します。


エラー

     rtprio() は次の場合に処理を失敗します。

     [EINVAL]           指定された prio が範囲外でした。

     [EPERM]            呼び出しプロセスがリアルタイム優先順位を設定できませ
                        ん。 root だけが任意のプロセスのリアル優先順位を変更す
                        ることができます。 root でないユーザは現在のプロセスの

ABELNET VPSサービス