times(2) - wariua/manpages-ko GitHub Wiki
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; /* μ¬μ©μ μκ° */
clock_t tms_stime; /* μμ€ν
μκ° */
clock_t tms_cutime; /* μμλ€μ μ¬μ©μ μκ° */
clock_t tms_cstime; /* μμλ€μ μμ€ν
μκ° */
};tms_utime νλλ νΈμΆ νλ‘μΈμ€μ μΈμ€νΈλμ
μ μ€ννλ λ° μ΄ CPU μκ°μ λ΄λλ€. tms_stime νλλ νΈμΆ νλ‘μΈμ€ λμ μμ
μ μννλ©° 컀λ λ΄μμ μ€νμ μ΄ CPU μκ°μ λ΄λλ€.
tms_cutime νλλ tms_utimeμλ€κ° μ’
λ£λΌμ λκΈ°κ° μ΄λ€μ§ μμλ€ λͺ¨λμ tms_cutimeμ ν©μΉ κ°μ λ΄λλ€. tms_cstime νλλ tms_stimeμλ€κ° μ’
λ£λΌμ λκΈ°κ° μ΄λ€μ§ μμλ€ λͺ¨λμ tms_cstimeμ ν©μΉ κ°μ λ΄λλ€.
μ’ λ£λ μμλ€μ (κ·Έλ¦¬κ³ κ·Έ νμλ€μ) μκ°μ wait(2) λ΄μ§ waitpid(2)μμ νλ‘μΈμ€ IDλ₯Ό λ°ννλ μμ μ ν©μ³μ§λ€. νΉν μμμ΄ λκΈ°νμ§ μμ μμ£Όμ μκ°μ μ λ 보μ΄μ§ μκ² λλ€.
λͺ¨λ μκ°μ ν΄λ ν± λ¨μλ‘ λ³΄κ³ νλ€.
times()λ κ³Όκ±° μμ μμ μ΄ν κ²½κ³Όν ν΄λ ν± μλ₯Ό λ°ννλ€. λ°ν κ°μ΄ clock_t νμ
μ κ°λ₯ λ²μλ₯Ό λμ μλ μλ€. μ€λ₯ μ (clock_t) -1μ λ°ννλ©° errnoλ₯Ό μ μ ν μ€μ νλ€.
EFAULT-
tmsκ° νλ‘μΈμ€μ μ£Όμ κ³΅κ° λ°μ κ°λ¦¬ν€κ³ μλ€.
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
μ΄λΉ ν΄λ ν± μλ λ€μ λ°©λ²μΌλ‘ μ»μ μ μλ€.
sysconf(_SC_CLK_TCK);POSIX.1-1996μμλ (<time.h>μ μ μλ) CLK_TCK μ¬λ³Όμ΄ ꡬμνλκ³ μλ€κ³ λ§νλ€. νμ¬ κ΅¬μμ΄ λμλ€.
리λ
μ€ μ»€λ λ²μ 2.6.9 μ μμλ SIGCHLD μ²λ¦¬ λ°©μμ΄ SIG_IGNμΌλ‘ μ€μ λΌ μλ κ²½μ°μ μ’
λ£ν μμλ€μ μκ°μ΄ μλμΌλ‘ tms_cstime λ° tms_cutime νλμ ν¬ν¨λλ€. νμ§λ§ POSIX.1-2001μ λ°λ₯΄λ©΄ νΈμΆ νλ‘μΈμ€κ° μμλ€μ wait(2) νλ κ²½μ°μλ§ κ·ΈλμΌ νλ€. 리λ
μ€ 2.6.9 λ° μ΄νμμλ μ΄ λΆμΌμΉκ° μμ λΌ μλ€.
리λ
μ€μμλ buf μΈμλ₯Ό NULLλ‘ μ§μ ν μ μμΌλ©° κ·Έλ¬λ©΄ times()κ° ν¨μ κ²°κ³Όλ§ λ°ννλ€. νμ§λ§ POSIXμμλ μ΄λ° λμμ λͺ
μΈνκ³ μμ§ μμΌλ©° λλ€μμ λ€λ₯Έ μ λμ€ κ΅¬νμμλ bufμ NULL μλ κ°μ μꡬνλ€.
μ°Έκ³ λ‘ clock(3)λ clock_t νμ
μΈ κ°μ λ°ννμ§λ§ κ·Έ κ°μ times()μμ μ°λ ν΄λ ν±μ΄ μλλΌ CLOCKS_PER_SEC λ¨μλ‘ μΈ‘μ ν κ°μ΄λ€.
리λ
μ€μμ times()μ λ°ν κ°μ μΈ‘μ νλ κΈ°μ€μΈ "κ³Όκ±° μμ μμ "μ 컀λ λ²μ μ λ°λΌ λ¬λλ€. 리λ
μ€ 2.4 λ° μ΄μ μμλ μμ€ν
μ΄ λΆν
λ μκ°μ΄μλ€. 리λ
μ€ 2.6λΆν°λ μ΄ μμ μ΄ μμ€ν
λΆν
μκ°μμ (2^32/HZ) - 300 μ΄ μ μ΄λ€. 컀λ λ²μ μ λ°λ₯Έ (κ·Έλ¦¬κ³ μ λμ€ κ΅¬νλ€μ λ°λ₯Έ) μ΄λ° λ€μμ±μλ€κ° λ°ν κ°μ΄ clock_tμ λ²μλ₯Ό λμ μ μλ€λ κ±Έ μκ°νλ©΄ μ΄μ κ°λ₯ν μμ©μμλ μ΄ κ°μ μ°μ§ μλ κ² νλͺ
ν κ²μ΄λ€. κ²½κ³Ό μκ° λ³νλ₯Ό μΈ‘μ νλ €λ©΄ clock_gettime(2)μ μ°λ©΄ λλ€.
SVr1-3μμλ longμ λ°ννλ©° μν¬ν¬ μ΄ν μ΄κ° μλλΌ ν΄λ ν±μ μ μ₯νλλ°λ ꡬ쑰체 λ©€λ²κ° time_t νμ
μ΄λ€. V7μμλ ꡬ쑰체 λ©€λ²μ longμ μΌλλ°, κ·Έλλ time_t νμ
μ΄ μμκΈ° λλ¬Έμ΄λ€.
μΌλΆ μμ€ν
(νΉν i386)μμ 리λ
μ€ μμ€ν
νΈμΆ κ·μ½μ νκ³ λλ¬Έμ λΆν
μ§νμ μ§§μ μκ°(41μ΄) λμ times()κ° -1μ λ°νν΄μ μ€λ₯κ° λ°μν κ²μ²λΌ μλͺ» 보μ΄κ² λ κ°λ₯μ±μ΄ μλ€. λ°ν κ°μ΄ clock_tμ μ μ₯ν μ μλ μ΅λκ°μ λμ΄κ° λμλ κ°μ λ¬Έμ κ° λ°μν μ μλ€.
time(1), getrusage(2), wait(2), clock(3), sysconf(3), time(7)
2017-09-15