clock_getcpuclockid(3) - wariua/manpages-ko GitHub Wiki

NAME

clock_getcpuclockid - ν”„λ‘œμ„ΈμŠ€ CPU μ‹œκ°„ 클럭의 ID μ–»κΈ°

SYNOPSIS

#include <time.h>

int clock_getcpuclockid(pid_t pid, clockid_t *clock_id);

-lrt둜 링크 (glibc 버전 2.17 μ „μ—μ„œλ§Œ).

glibc κΈ°λŠ₯ 확인 맀크둜 μš”κ±΄ (feature_test_macros(7) μ°Έκ³ ):

clock_getcpuclockid():
_POSIX_C_SOURCE >= 200112L

DESCRIPTION

clock_getcpuclockid() ν•¨μˆ˜λŠ” IDκ°€ pid인 ν”„λ‘œμ„ΈμŠ€μ˜ CPU μ‹œκ°„ 클럭의 IDλ₯Ό μ–»μ–΄μ„œ clock_idκ°€ κ°€λ¦¬ν‚€λŠ” μœ„μΉ˜λ‘œ λ°˜ν™˜ν•œλ‹€. pidκ°€ 0이면 호좜 ν”„λ‘œμ„ΈμŠ€μ˜ CPU μ‹œκ°„ 클럭의 클럭 IDλ₯Ό λ°˜ν™˜ν•œλ‹€.

RETURN VALUE

성곡 μ‹œ clock_getcpuclockid()λŠ” 0을 λ°˜ν™˜ν•œλ‹€. 였λ₯˜ μ‹œ ERRORS μ ˆμ— λ‚˜μ—΄λœ μ–‘μˆ˜ 였λ₯˜ 번호 쀑 ν•˜λ‚˜λ₯Ό λ°˜ν™˜ν•œλ‹€.

ERRORS

ENOSYS
컀널이 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ˜ ν”„λ‘œμ„ΈμŠ€λ³„ CPU μ‹œκ°„ 클럭 μ–»κΈ°λ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ° pidκ°€ 호좜 ν”„λ‘œμ„ΈμŠ€λ₯Ό μ§€μ •ν•˜κ³  μžˆμ§€ μ•Šλ‹€.
EPERM
pid둜 μ§€μ •ν•œ ν”„λ‘œμ„ΈμŠ€μ˜ CPU μ‹œκ°„ ν΄λŸ­μ— μ ‘κ·Όν•  κΆŒν•œμ„ ν˜ΈμΆœμžκ°€ κ°€μ§€κ³  μžˆμ§€ μ•Šλ‹€. (POSIX.1-2001μ—μ„œ λͺ…세함. λ¦¬λˆ…μŠ€μ—μ„œλŠ” 컀널이 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ˜ ν”„λ‘œμ„ΈμŠ€λ³„ CPU μ‹œκ°„ 클럭 μ–»κΈ°λ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ” κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄ λ°œμƒν•˜μ§€ μ•ŠμŒ.)
ESRCH
IDκ°€ pid인 ν”„λ‘œμ„ΈμŠ€κ°€ μ—†λ‹€.

VERSIONS

glibc 버전 2.2λΆ€ν„° clock_getcpuclockid() ν•¨μˆ˜κ°€ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.

ATTRIBUTES

이 μ ˆμ—μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄λ“€μ— λŒ€ν•œ μ„€λͺ…은 attributes(7)λ₯Ό 보라.

μΈν„°νŽ˜μ΄μŠ€ 속성 κ°’
clock_getcpuclockid() μŠ€λ ˆλ“œ μ•ˆμ „μ„± MT-Safe

CONFORMING TO

POSIX.1-2001, POSIX.1-2008.

NOTES

pidκ°€ 0인 clock_getcpuclockid() 호좜둜 얻은 클럭 IDλ₯Ό clock_gettime(2)을 ν˜ΈμΆœν•  λ•Œ μ‚¬μš©ν•˜λŠ” 것은 클럭 ID CLOCK_PROCESS_CPUTIME_IDλ₯Ό μ“°λŠ” 것과 κ°™λ‹€.

EXAMPLE

μ•„λž˜μ˜ μ˜ˆμ‹œ ν”„λ‘œκ·Έλž¨μ€ λͺ…λ Ήν–‰μœΌλ‘œ μ€€ IDλ₯Ό κ°€μ§„ ν”„λ‘œμ„ΈμŠ€μ˜ CPU μ‹œκ°„ 클럭 IDλ₯Ό 얻은 λ‹€μŒ clock_gettime(2)을 μ΄μš©ν•΄ κ·Έ 클럭의 μ‹œκ°„μ„ μ–»λŠ”λ‹€. λ™μž‘ μ˜ˆλŠ” λ‹€μŒκ³Ό κ°™λ‹€.

$ ./a.out 1                 # init ν”„λ‘œμ„ΈμŠ€μ˜ CPU 클럭 보기
CPU-time clock for PID 1 is 2.213466748 seconds

ν”„λ‘œκ·Έλž¨ μ†ŒμŠ€

#define _XOPEN_SOURCE 600
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <time.h>

int
main(int argc, char *argv[])
{
    clockid_t clockid;
    struct timespec ts;

    if (argc != 2) {
        fprintf(stderr, "%s <process-ID>\n", argv[0]);
        exit(EXIT_FAILURE);
    }

    if (clock_getcpuclockid(atoi(argv[1]), &clockid) != 0) {
        perror("clock_getcpuclockid");
        exit(EXIT_FAILURE);
    }

    if (clock_gettime(clockid, &ts) == -1) {
        perror("clock_gettime");
        exit(EXIT_FAILURE);
    }

    printf("CPU-time clock for PID %s is %ld.%09ld seconds\n",
            argv[1], (long) ts.tv_sec, (long) ts.tv_nsec);
    exit(EXIT_SUCCESS);
}

SEE ALSO

clock_getres(2), timer_create(2), pthread_getcpuclockid(3), time(7)


2019-03-06

⚠️ **GitHub.com Fallback** ⚠️