GETPRIORITY
Section: System Calls (2)
索引
jman
BSD mandoc
索引
名称
getpriority
setpriority
- プログラムスケジュール優先順位を取得 / 設定する
索引
ライブラリ
Lb libc
索引
書式
In sys/time.h
In sys/resource.h
Ft int
Fn getpriority int which int who
Ft int
Fn setpriority int which int who int prio
索引
解説
Fa which
および
Fa who
で指示されるプロセス、プロセスグループ、
またはユーザのスケジュール優先順位は
Fn getpriority
システムコールで取得され、
Fn setpriority
システムコールで設定されます。
Fa which
引数は、
PRIO_PROCESS
PRIO_PGRP
または
PRIO_USER
のどれかであり、
Fa who
は
Fa which
に関連して解釈されます
( PRIO_PROCESS
の場合はプロセス識別子、
PRIO_PGRP
の場合はプロセスグループ識別子、および
PRIO_USER
の場合はユーザ ID)。
Fa who
の値が 0 であるのは、
現在のプロセス、プロセスグループ、またはユーザを表します。
Fa prio
引数は -20 から 20 の範囲の値です。
デフォルトの優先順位は 0 です。
優先順位が低いと、スケジュール調整にはより都合がよくなります。
Fn getpriority
システムコールは、指定のプロセスのいずれかが享受する最高の優先順位を
返してきます (最も小さい数値です)。
Fn setpriority
システムコールは、指定されたすべてのプロセスの優先順位を指定の値に設定します。
スーパユーザだけが優先順位を低くできます。
索引
戻り値
Fn getpriority
は処理を正しく完了しても値 -1 を返すことがあるので、
呼び出しの前に外部変数
errno
をクリアしてから、後にこれをチェックして -1 がエラーであるか、
または正当な値であるか判定する必要があります。
Rv -std setpriority
索引
エラー
Fn getpriority
と
Fn setpriority
システムコールは次の場合に失敗します:
- Bq Er ESRCH
-
指定された
Fa which
と
Fa who
の値を使用しているプロセスが見つかりませんでした。
- Bq Er EINVAL
-
Fa which
引数が
PRIO_PROCESS
PRIO_PGRP
または
PRIO_USER
のどれでもありませんでした。
上記のエラーだけでなく、
Fn setpriority
は次の場合に失敗します:
- Bq Er EPERM
-
プロセスは検出されたものの、その実効 ID も実ユーザ ID の
どちらも、呼び出し側の実効ユーザ ID に一致しませんでした。
- Bq Er EACCES
-
スーパユーザでないものがプロセスの優先順位を下げようとしました。
索引
関連項目
nice(1),
fork(2),
renice(8)
索引
歴史
Fn getpriority
システムコールは
BSD 4.2
ではじめて登場しました。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 戻り値
-
- エラー
-
- 関連項目
-
- 歴史
-
Time: 07:06:26 GMT, January 12, 2009