NAME

sleep - 지정한 초 동안 잠들기

SYNOPSIS

#include <unistd.h>

unsigned int sleep(unsigned int seconds);

DESCRIPTION

sleep()은 실제 시간으로 seconds에 지정한 초가 지날 때까지, 또는 무시 안 되는 시그널을 받을 때까지 호출 스레드가 잠들게 만든다.

RETURN VALUE

요청한 시간이 지났으면 0을 반환한다. 시그널 핸들러 때문에 호출이 중단됐으면 남은 초 수를 반환한다.

ATTRIBUTES

이 절에서 사용하는 용어들에 대한 설명은 attributes(7)를 보라.

인터페이스 속성
sleep() 스레드 안전성 MT-Unsafe sig:SIGCHLD/linux

CONFORMING TO

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

NOTES

리눅스에서는 nanosleep(2)을 통해 sleep()이 구현돼 있다. nanosleep(2) 맨 페이지의 사용 클럭에 대한 설명을 보라.

이식성 관련 사항

일부 시스템에서는 alarm(2)SIGALRM을 사용해 sleep()이 구현돼 있을 수 있다. (POSIX.1에서 이를 허용한다.) alarm(2)sleep()을 섞어서 호출하는 건 안 좋은 생각이다.

잠이 들어 있는 동안 시그널 핸들러에서 longjmp(3)를 쓰거나 SIGALRM 처리 방식을 변경하면 규정 안 된 결과가 일어난다.

SEE ALSO

sleep(1), alarm(2), nanosleep(2), signal(2), signal(7)


2021-03-22