Man page - times(2)

Packages contains this manual

Available languages:

en fr es pl nl ja ru ro de

Manual

TIMES

名 前
書 åŧ
čĒŦ 明
čŋ” り 値
エ ナ ãƒŧ
æē– 拠
æŗ¨ 意
æ­´ å˛
バ グ
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

times - プ ロ ã‚ģ ゚ 時 間 を 取 åž— す る

書 åŧ

#include <sys/times.h>

clock_t times(struct tms * buf );

čĒŦ 明

times () は įž 在 ぎ プ ロ ã‚ģ ゚ 時 間 を buf が 指 し ãĻ い る struct tms ãĢ æ ŧ į´ す る 。 struct tms は <sys/times.h> で äģĨ 下 ぎ よ う ãĢ 厚 įžŠ さ れ ãĻ い る :

struct tms {
clock_t tms_utime; /* user time */
clock_t tms_stime; /* system time */
clock_t tms_cutime; /* user time of children */
clock_t tms_cstime; /* system time of children */
};

The tms_utime field contains the CPU time spent executing instructions of the calling process. The tms_stime field contains the CPU time spent executing inside the kernel while performing tasks on behalf of the calling process.

tms_cutime フ ã‚Ŗ ãƒŧ ãƒĢ ド は 、 įĩ‚ äē† ã‚’ åž… ãŖ ãĻ い る 全 ãĻ ぎ 子 プ ロ ã‚ģ ゚ ぎ tms_utime と tms_cutime ぎ 合 計 で あ る 。 tms_cstime フ ã‚Ŗ ãƒŧ ãƒĢ ド は 、 įĩ‚ äē† ã‚’ åž… ãŖ ãĻ い る 全 ãĻ ぎ 子 プ ロ ã‚ģ ゚ ぎ tms_stime と tms_cstime ぎ 合 計 で あ る 。

įĩ‚ äē† ã™ る 子 (及 ãŗ そ ぎ 子 å­Ģ )プ ロ ã‚ģ ゚ ぎ 時 間 は wait (2) や waitpid (2) が プ ロ ã‚ģ ゚ ID を čŋ” し た įžŦ 間 ãĢ 加 įŽ— さ れ る 。 つ ぞ り 、 子 が ぞ だ įĩ‚ äē† ã‚’ åž… ãŖ ãĻ い ãĒ い įŠļ 態 で は å­Ģ プ ロ ã‚ģ ゚ ぎ 時 間 は æąē し ãĻ įž れ ãĒ い 。

全 ãĻ ぎ 時 間 は ク ロ ッ ク 数 で čŋ” さ れ る 。

čŋ” り 値

times () は 過 åŽģ ぎ あ る 時 į‚š か ら įĩŒ 過 し た ク ロ ッ ク 数 (clock tick) を čŋ” す 。 こ ぎ čŋ” り 値 は clock_t 型 が 取 り åž— る ᝄ 回 か ら ã‚Ē ãƒŧ バ ãƒŧ フ ロ ãƒŧ す る か も し れ ãĒ い 。 エ ナ ãƒŧ ぎ å ´ 合 、 (clock_t) -1 が čŋ” さ れ 、 errno が 遊 切 ãĢ 設 厚 さ れ る 。

エ ナ ãƒŧ

EFAULT

tms が プ ロ ã‚ģ ゚ ぎ ã‚ĸ ド ãƒŦ ゚ įŠē 間 ぎ 外 を 指 し ãĻ い る 。

æē– 拠

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

æŗ¨ 意

一 į§’ あ た り ぎ ク ロ ッ ク 数 は äģĨ 下 で åž— る こ と が で き る 。

sysconf(_SC_CLK_TCK);

POSIX.1-1996 で は 、 CLK_TCK ã‚ˇ ãƒŗ ボ ãƒĢ ( <time.h> で 厚 įžŠ さ れ ãĻ い る ) は 古 い も ぎ で あ る と 記 čŋ° さ れ ãĻ い る 。 äģŠ ã§ は こ れ は 古 い も ぎ で あ る 。

Linux 2.6.9 よ り 前 ぎ バ ãƒŧ ジ ョ ãƒŗ で は 、 SIGCHLD を SIG_IGN ãĢ 設 厚 す る と įĩ‚ äē† ã— た 子 プ ロ ã‚ģ ゚ ぎ 回 数 は č‡Ē 動 įš„ ãĢ tms_cstime と tms_cutime フ ã‚Ŗ ãƒŧ ãƒĢ ド ãĢ åĢ ぞ れ る 。 し か し 、 POSIX.1-2001 で は 、 こ ぎ 動 äŊœ は å‘ŧ ãŗ å‡ē し 元 が wait (2) é–ĸ 数 įž¤ で 子 プ ロ ã‚ģ ゚ を åž… ãŖ た å ´ 合 ãĢ ぎ ãŋ čĩˇ き る ず き だ と し ãĻ い る 。 標 æē– と は į•° ãĒ る こ ぎ 動 äŊœ は Linux 2.6.9 äģĨ 降 で äŋŽ æ­Ŗ さ れ ãĻ い る 。

Linux で は 、 buf åŧ• 数 ãĢ NULL を 指 厚 す る こ と が で き 、 そ ぎ å ´ 合 は times () は 単 ãĢ é–ĸ 数 ぎ įĩ 果 を čŋ” す 。 し か し 、 POSIX は こ ぎ 振 る 舞 い は čĻ 厚 さ れ ãĻ お ら ず 、 そ ぎ äģ– ãŽ ãģ と ん お ぎ UNIX 原 čŖ… は buf ぎ 値 と し ãĻ 非 NULL ぎ 値 を čρ æą‚ す る 。

clock (3) も clock_t 型 ぎ 値 を čŋ” す が 、 こ ぎ 値 は times () で äŊŋ ᔍ さ れ る ク ロ ッ ク tick 数 で は ãĒ く 、 CLOCKS_PER_SEC が 単 äŊ で あ る į‚š ãĢ æŗ¨ 意 す る こ と 。

Linux で は 、 times () ぎ čŋ” り 値 を 計 įŽ— す る čĩˇ į‚š と ãĒ る 「 過 åŽģ ぎ äģģ æ„ ぎ 時 į‚š 」 は 、 ã‚Ģ ãƒŧ ネ ãƒĢ ぎ バ ãƒŧ ジ ョ ãƒŗ ãĢ よ り į•° ãĒ る 。 Linux 2.4 äģĨ 前 で は 、 こ ぎ 時 į‚š は ã‚ˇ ゚ テ ム が čĩˇ 動 し た įžŦ 間 で あ る 。 Linux 2.6 äģĨ 降 で は 、 こ ぎ 時 į‚š は ã‚ˇ ゚ テ ム čĩˇ 動 時 åˆģ ぎ (2ˆ32/HZ) - 300 į§’ 前 で あ る 。 こ ぎ よ う ãĢ ã‚Ģ ãƒŧ ネ ãƒĢ バ ãƒŧ ジ ョ ãƒŗ (や UNIX ぎ 原 čŖ… ) ãĢ よ り į•° ãĒ る こ と と 、 čŋ” り 値 が clock_t ぎ ᝄ 回 を ã‚Ē ãƒŧ バ ãƒŧ フ ロ ãƒŧ す る 可 čƒŊ 性 が あ る と い う äē‹ åŽŸ を 考 æ…Ž す る と 、 į§ģ 植 性 が åŋ… čρ ãĒ ã‚ĸ プ ãƒĒ ã‚ą ãƒŧ ã‚ˇ ョ ãƒŗ で は こ ぎ 値 を äŊŋ う ぎ は éŋ け る ぎ が čŗĸ 明 で あ ろ う 。 įĩŒ 過 時 間 を æ¸Ŧ り た い å ´ 合 ãĢ は 、 äģŖ ã‚ り ãĢ clock_gettime (2) を äŊŋ ᔍ す る こ と 。

æ­´ å˛

SVr1-3 で は long を čŋ” し 、 構 造 äŊ“ ぎ ãƒĄ ãƒŗ バ ãĢ time_t 型 を äŊŋ ãŖ ãĻ い た が 、 į´€ 元 か ら ぎ į§’ 数 で は ãĒ く ク ロ ッ ク 数 を æ ŧ į´ し ãĻ い た 。 V7 で は 構 造 äŊ“ ぎ ãƒĄ ãƒŗ バ ãĢ long 型 を äŊŋ ãŖ ãĻ い た 。 ぞ だ time_t 型 が ãĒ か ãŖ た か ら で あ る 。

バ グ

い く つ か ぎ ã‚ĸ ãƒŧ キ テ ク チ ãƒŖ ãƒŧ (į‰š ãĢ i386) ãĢ お け る Linux ぎ ã‚ˇ ゚ テ ム ã‚ŗ ãƒŧ ãƒĢ ぎ æ…Ŗ įŋ’ ぎ åˆļ 限 ãĢ よ り 、 Linux 2.6 で は čĩˇ 動 į›´ 垌 は (41į§’ と ) ã‚ŋ イ ム ã‚Ļ ã‚Ŗ ãƒŗ ド ã‚Ļ が 小 さ く 、 times () が エ ナ ãƒŧ が čĩˇ こ ãŖ た こ と を į¤ē す -1 を 間 違 ãŖ ãĻ čŋ” す こ と が あ る 。 čŋ” り 値 が clock_t が æ ŧ į´ 可 čƒŊ ãĒ 最 大 値 を čļ… éŽ し た 際 ãĢ も 同 じ 問 題 が čĩˇ こ り åž— る 。

é–ĸ 逪 項 į›Ž

time (1), getrusage (2), wait (2), clock (3), sysconf (3), time (7)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。