getpriority() - プロセス・スケジューリング優先順位の取得

標準

標準/拡張機能 C/C++ 依存項目

XPG4.2
Single UNIX Specification、バージョン 3

両方  

形式

#define _XOPEN_SOURCE_EXTENDED 1
#include <sys/resource.h>

int getpriority(int which, id_t who);

機能説明

getpriority() は、プロセス、プロセス・グループ、またはユーザーの 現行の優先順位を取得します。

プロセスは、which および who 引数の値で指定されます。which 引数は、sys/resource.h 組み込みファイルで定義される、以下のシンボルのうちいずれか 1 つになります。
PRIO_PROCESS
who 引数をプロセス ID と解釈することを指示します。
PRIO_PGRP
who 引数をプロセス・グループ ID と解釈することを指示します。
PRIO_USER
who 引数をユーザー ID と解釈することを指示します。

who 引数は、ID (プロセス、プロセス・グループ、またはユーザー) を指定します。who 引数の 0 (ゼロ) 値は、現行プロセス、プロセス・グループ、またはユーザー ID を指定します。

戻り値

正常に実行された場合、getpriority() は、who で要求された プロセス、プロセス・グループ、またはユーザー ID の優先順位を戻します。優先順位は、-20 ~ 19 までの範囲 (数値が小さいほど、高い優先順位) の整数として戻されます。

複数のプロセスが指定される場合、getpriority() は指定されたプロセスの 中で最も高い優先順位を戻します。

正常に実行されなかった場合、getpriority() は -1 を戻して、errno を次のいずれかの 値に設定します。
エラー・コード
説明
EINVAL
which 引数で指定されたシンボルが認識されなかったか、あるいは who 引数の値が、有効なプロセス ID、プロセス・グループ ID、またはユーザー ID ではありません。
ESRCH
指定された which および who 引数の値を使って、プロセスを見つけることができませんでした。

getpriority() は正常終了時に値 -1 を戻すことがあります。そのため、getpriority() の呼び出し前に、外部変数 errno を 0 に設定する 必要があります。getpriority() により -1 が戻されるとき、errno を チェックして、エラーが発生したかどうか、あるいは値が正当な優先順位 であるかどうかを調べることができます。

関連情報