Manpages

이 름

getitimer, setitimer − interval timer의 값 을 얻 거 나 설 정 한 다 .

사 용 법

#include <sys/time.h>

int getitimer(int

which, struct itimerval *value);

int setitimer(int

which, const struct itimerval *value, struct

itimerval *ovalue);

설 명

시 스 템 은 3개 의 interval timer를 가 진 각 프 로 세 스 를 제 공 한 다 . 모 든 타 이 머 가 작 동 을 멈 추 면 , 프 로 세 스 가 시 그 널 을 보 내 고 타 이 머 는 다 시 작 동 을 시 작 한 다 .

ITIMER_REAL

실 시 간 의 감 소 율 과 SIGALRM 의 만 료 기 간 을 넘 겨 준 다 .

ITIMER_VIRTUAL

프 로 세 스 가 실 행 되 고 있 을 때 감 소 율 과 SIGVTALRM 의 만 료 기 간 을 넘 겨 준 다 .

ITIMER_PROF

프 로 세 스 가 진 행 되 고 있 거 나 , 시 스 템 이 프 로 세 스 를 대 신 해 실 행 할 때 감 소 율 . ITIMER_VIRTUAL, 를 결 부 시 켜 생 각 하 면 , 이 타 이 머 는 대 개 사 용 자 와 커 널 공 간 에 응 용 프 로 그 램 에 의 해 보 내 진 프 로 파 일 시 간 에 쓰 인 다 . SIGPROF 는 만 료 기 간 을 넘 겨 준 다 .

타 이 머 값 은 다 음 구 조 에 의 해 정 의 된 다 :

struct itimerval {
struct timeval it_interval; /* next value */
struct timeval it_value; /* current value */
};
struct timeval {
long tv_sec; /* seconds */
long tv_usec; /* microseconds */
};

Getitimer(2)ITIMER_REAL, ITIMER_VIRTUAL, 나 ITIMER_PROF 중 하 나 에 의 해 지 정 된 타 이 머 를 위 해 현 재 설 정 한 value 에 의 해 지 정 된 구 조 로 채 워 진 다 . it_value 는 타 이 머 에 남 겨 진 시 간 의 양 으 로 설 정 되 거 나 타 이 머 가 작 동 하 지 않 으 면 0이 다 . 비 슷 하 게 , it_interval 는 reset 값 으 로 설 정 된 다 . Setitimer(2)value 값 으 로 지 정 된 타 이 머 를 설 정 한 다 . ovalue 가 0이 아 니 면 , 타 이 머 의 이 전 값 은 그 곳 에 저 장 된 다 .

시 그 널 을 생 성 하 는 it_value 에 서 0까 지 타 이 머 감 소 와 it_interval 로 재 설 정 한 다 . 0으 로 설 정 된 타 이 머 는 멈 춘 다 . (it_value 는 0이 거 나 타 이 머 가 만 표 되 었 고 it_interval 는 0이 다 )

Both tv_sectv_usec 는 모 두 타 이 머 의 지 속 기 간 결 정 에 중 요 하 다 .

타 이 머 는 시 간 이 요 청 되 기 전 엔 절 대 만 료 되 지 않 을 것 이 다 . 그 대 신 몇 몇 짧 은 만 료 기 간 은 시 스 템 타 이 머 해 석 (현 재 10ms)에 의 지 한 다 . 만 료 기 간 에 시 그 널 은 생 성 될 것 이 고 , 타 이 머 는 새 설 정 된 다 . 타 이 머 가 프 로 세 스 가 실 행 중 인 동 안 만 료 된 다 면 시 그 널 이 생 성 될 때 즉 시 전 달 될 것 이 다 . 그 렇 지 않 으 면 시 스 템 로 딩 에 의 지 하 는 짧 은 시 간 에 의 해 상 쇄 될 것 이 다 .

반 환 값

성 공 시 , 0이 반 환 된 다 . 실 패 시 , −1이 반 환 되 고 , errno 는 적 절 히 설 정 된 다 .

에 러

EFAULT

valueovalue 가 유 효 한 포 인 터 가 아 니 다 .

EINVAL

ITIMER_REAL, ITIMER_VIRT, or ITIMER_PROF. 중 의 어 떤 것 도 아 니 다 .

호 환

SVr4, 4.4BSD (이 것 은 4.2BSD에 서 처 음 보 였 다 ).

관 련 항 목

gettimeofday(2), sigaction(2), signal(2).

버 그

리 눅 스 에 서 , 시 그 널 의 생 성 과 전 달 은 별 개 이 고 , 각 시 그 널 은 중 요 한 이 벤 트 에 허 용 된 다 . ITIMER_REAL 가 이 전 만 료 기 간 으 로 부 터 시 그 널 이 전 달 되 기 전 에 만 료 될 것 이 다 . 이 벤 트 같 은 초 시 그 널 은 잃 게 될 것 이 다 .

역 자

ASPLINUX<man [AT] asp-linux.kr>, 2000년 7월 29일