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