NAME

alarm - 시그널 전달되도록 알람 시계 설정하기

SYNOPSIS

#include <unistd.h>

unsigned int alarm(unsigned int seconds);

DESCRIPTION

alarm()seconds 초 후에 호출 프로세스에게 SIGALRM 시그널이 전달되도록 한다.

seconds가 0인 경우에는 대기 상태 알람이 있으면 취소하기만 한다.

어느 경우든 앞서 설정한 alarm()이 있으면 취소된다.

RETURN VALUE

전달되기로 예약된 알람이 있었으면 그 시점까지 남아 있던 초 수를 alarm()이 반환한다. 예약된 알람이 없었으면 0을 반환한다.

CONFORMING TO

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

NOTES

alarm()setitimer(2)는 같은 타이머를 공유한다. 즉 한쪽을 호출하면 다른 쪽 사용에 영향을 주게 된다.

alarm()으로 생성된 알람이 execve(2)를 거치면서 유지된다. fork(2)를 통해 생긴 자식들이 물려받지 않는다.

sleep(3)SIGALRM을 이용해 구현돼 있을 수 있다. 즉 alarm()sleep(3)을 섞어 쓰는 건 좋지 않다.

언제나 그렇듯 스케줄링 지연 때문에 프로세스 실행이 임의 시간만큼 지연될 수 있다.

SEE ALSO

gettimeofday(2), pause(2), select(2), setitimer(2), sigaction(2), signal(2), timer_create(2), timerfd_create(2), sleep(3), time(7)


2017-05-03