.\" Copyright (c) 1994, Henrik Vestergaard Draboel .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Henrik Vestergaard Draboel. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %FreeBSD: src/lib/libc/sys/rtprio.2,v 1.25 2002/12/19 09:40:25 ru Exp % .\" .\" $FreeBSD$ .Dd July 23, 1994 .Dt RTPRIO 2 .Os .Sh 名称 .Nm rtprio .Nd ユーティリティやプロセスのリアルタイム / アイドル優先順位の取得と修正 .Sh ライブラリ .Lb libc .Sh 書式 .In sys/types.h .In sys/rtprio.h .Ft int .Fn rtprio "int function" "pid_t pid" "struct rtprio *rtp" .Sh 解説 .Fn rtprio システムコールを使用して、プロセスのリアルタイムまたはアイドル優先順位を 取得または変更します。 .Pp .Fa function 引数で実行する操作を指定します。 現在の優先順位を取得するには RTP_LOOKUP、優先順位を設定するには RTP_SET です。 .Fa pid 引数は、対象のプロセスを指定します。 現在のプロセスを指定するには 0 を使います。 .Pp .Fa *rtp 引数は、優先順位と優先順位のタイプを指定するのに使用する struct rtprio を指す ポインタです。 この構造体は次の型です: .Bd -literal struct rtprio { u_short type; u_short prio; }; .Ed .Pp .Va type の値は、リアルタイム優先順位については RTP_PRIO_REALTIME、 通常の優先順位については RTP_PRIO_NORMAL、 アイドル優先順位については RTP_PRIO_IDLE です。 .Va prio によって指定する優先順位は、0 から .Dv RTP_PRIO_MAX (通常は 31) の範囲になります。 0 が指定可能な最高の優先順位です。 .Pp リアルタイム優先順位とアイドル優先順位は、 fork() と exec() を通じて継承されます。 .Pp リアルタイムプロセスは、それ以上の優先順位をもつプロセス、 または割り込みによってだけ優先権を取得できます。 アイドル優先順位のプロセスは、 他のリアルタイムまたは通常の優先順位プロセスが 実行可能でないときにだけ実行されます。 優先順位の高いリアル / アイドルのプロセスは 優先順位の低いリアル / アイドルのプロセスから優先権を取得します。 優先順位が等しいリアル / アイドルの プロセスはラウンドロビン方式で実行されます。 .Sh 戻り値 .Rv -std rtprio .Sh エラー .Fn rtprio システムコールは次の場合に処理を失敗します: .Bl -tag -width Er .It Bq Er EINVAL 指定された .Fa prio が範囲外でした。 .It Bq Er EPERM 呼び出しプロセスがリアルタイム優先順位を設定できません。 root だけが任意のプロセスのリアル優先順位を変更することができます。 root でないユーザは現在のプロセスのアイドル優先順位を変更できるだけです。 .It Bq Er ESRCH 指定のプロセスが見つかりませんでした。 .El .Sh 作者 .An -nosplit オリジナルの作者は .An Henrik Vestergaard Draboel Aq hvd@terry.ping.dk です。 .Fx での実装は .An David Greenman によって本質的に書き直されました。 .Sh 関連項目 .Xr nice 1 , .Xr ps 1 , .Xr rtprio 1 , .Xr setpriority 2 , .Xr nice 3 , .Xr renice 8