.\" Copyright (C) Tom Bjorkholm & Markus Kuhn, 1996
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" .
.\" %%%LICENSE_END
.\"
.\" 1996-04-01 Tom Bjorkholm
.\" First version written
.\" 1996-04-10 Markus Kuhn
.\" revision
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\"
.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
.\" all rights reserved.
.\" Translated 1997-02-23, HANATAKA Shinya
.\" Updated 2003-10-11, Kentaro Shirakata
.\" Updated 2007-05-28, Akihiro MOTOKI , LDP v2.48
.\" Updated 2012-05-08, Akihiro MOTOKI
.\" Updated 2013-05-06, Akihiro MOTOKI
.\"
.TH SCHED_RR_GET_INTERVAL 2 " 2017\-09\-15" Linux "Linux Programmer's Manual"
.SH 名前
sched_rr_get_interval \- 指定されたプロセスの SCHED_RR 間隔を取得する
.SH 書式
\fB#include \fP
.PP
\fBint sched_rr_get_interval(pid_t \fP\fIpid\fP\fB, struct timespec *\fP\fItp\fP\fB);\fP
.SH 説明
\fBsched_rr_get_interval\fP() は \fItp\fP で指定された \fItimespec\fP 構造体に
\fIpid\fP で指定されたプロセスのラウンドロビン時間量 (round robin time
quantum) を書き込む。指定されたプロセスは \fBSCHED_RR\fP スケジューリング
ポリシーで動作しているはずである。
.PP
\fItimespec\fP 構造体は以下の通りである:
.PP
.in +4n
.EX
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
.EE
.in
.PP
.\" FIXME . On Linux, sched_rr_get_interval()
.\" returns the timeslice for SCHED_OTHER processes -- this timeslice
.\" is influenced by the nice value.
.\" For SCHED_FIFO processes, this always returns 0.
.\"
.\" The round-robin time quantum value is not alterable under Linux
.\" 1.3.81.
.\"
\fIpid\fP が 0 の場合、呼び出したプロセスの時間量 (time quantum) が
\fI*tp\fP に書き込まれる。
.SH 返り値
成功した場合は \fBsched_rr_get_interval\fP() は 0 を返す。 エラーの場合は \-1 が返され、 \fIerrno\fP
が適切に設定される。
.SH エラー
.TP
\fBEFAULT\fP
情報をユーザー空間にコピーする時に問題が起きた。
.TP
\fBEINVAL\fP
PID が不正である。
.TP
\fBENOSYS\fP
システムコールがまだ実装されていない (かなり古いカーネルにおいてのみ)。
.TP
\fBESRCH\fP
プロセス ID が \fIpid\fP のプロセスが見つからなかった。
.SH 準拠
POSIX.1\-2001, POSIX.1\-2008.
.SH 注意
POSIX システムで \fBsched_rr_get_interval\fP() は \fI\fP に
\fB_POSIX_PRIORITY_SCHEDULING\fP が定義されている場合にのみ使用可能である。
.SS "Linux での注意"
.\" commit a4ec24b48ddef1e93f7578be53270f0b95ad666c
POSIX ではラウンドロビン時間量の大きさを制御する仕組みが規定されていない。 古い Linux カーネルではこれを変更する方法が提供されている
(この方法に移植性はない)。 プロセスの nice 値を調整することで時間量を制御できる (\fBsetpriority\fP(2) 参照)。 負の nice
値 (すなわち、高い nice 値) を割り当てると時間量は長くなり、 正の nice 値 (すなわち、低い nice 値)
を割り当てると時間量は短くなる。 デフォルトの時間量は 0.1 秒である。 nice 値の変更が時間量にどの程度影響を与えるかは
カーネルのバージョンにより多少異なる。時間量を調整するこのメソッドは Linux 2.6.24 以降で削除された。
.PP
.\" commit ce0dbbbb30aee6a835511d5be446462388ba9eee
.\" .SH BUGS
.\" As of Linux 1.3.81
.\" .BR sched_rr_get_interval ()
.\" returns with error
.\" ENOSYS, because SCHED_RR has not yet been fully implemented and tested
.\" properly.
Linux 3.9 で、 \fBSCHED_RR\fP の時間量の調整 (と参照) を行う新しい機構が追加された。
\fI/proc/sys/kernel/sched_rr_timeslice_ms\fP ファイルでミリ秒単位の時間量の値が参照でき、 デフォルト値は 100
である。 このファイルに 0 を書き込むと、 時間量をデフォルト値に戻すことができる。
.SH 関連項目
\fBsched\fP(7)
.SH この文書について
この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
\%https://www.kernel.org/doc/man\-pages/ に書かれている。