kazmax - Linux で自宅サーバー

sched_rr_get_interval - システムコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 準拠
  7. バグ
  8. 関連項目

名前

sched_rr_get_interval - 指定されたプロセスの SCHED_RR 間隔を取得する

書式

#include <sched.h>
int sched_rr_get_interval(pid_t pid , struct timespec * tp );

struct timespec {
	time_t	tv_sec;	/* seconds */
	long	tv_nsec;	/* nanoseconds */
};

説明

sched_rr_get_interval ()は tp で指定された timespec 構造体に pid で指定されたプロセスのラウンド・ロビン(round robin)時間量を 書き込む。もし pid がゼロならば呼び出したプロセスの時間量が *tp に書き込まれる。指定したプロセスは SCHED_RR スケジューリング方針で稼動している必要がある。
ラウンド・ロビン時間量は Linux 1.3.81 では変更できない。
sched_rr_get_interval ()の使用可能な POSIX システムでは <unistd.h> で _POSIX_PRIORITY_SCHEDULING が定義されている。

返り値

成功した場合は sched_rr_get_interval ()は 0 を返す。 エラーの場合は -1 が返され、 errno が適切に設定される。

エラー

EFAULT
情報をユーザースペースにコピーする時に問題が起きた。
EINVAL
PID が不正である。
ENOSYS
システム・コールがまだ実装されていない。
ESRCH
pid の ID を持つプロセスが見つからなかった。

準拠

POSIX.1-2001.

バグ

Linux 1.3.81 の時点では sched_rr_get_interval () は ENOSYS エラーを返す。 これは SCHED_RR はまだ完全には実装されておらず、 適切にテストされていないからである。

関連項目

  sched_setscheduler (2) には Linux のスケジューリング方式についての記述がある。

Programming for the real world - POSIX.4 by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0