Manual Page Search Parameters

SLEEP(3) Library Functions Manual SLEEP(3)


sleepsuspend process execution for interval measured in seconds


#include <unistd.h>
unsigned int
sleep(unsigned int seconds);


The sleep() function suspends execution of the calling process until either seconds seconds have elapsed or a signal is delivered to the process and its action is to invoke a signal-catching function or to terminate the process. The suspension time may be longer than requested due to the scheduling of other activity by the system.
This function is implemented using nanosleep(2) by pausing for seconds seconds or until a signal occurs. Consequently, in this implementation, sleeping has no effect on the state of process timers, and there is no special handling for SIGALRM.


If the sleep() function returns because the requested time has elapsed, the value returned will be zero. If the sleep() function returns due to the delivery of a signal, the value returned will be the unslept amount (the request time minus the time actually slept) in seconds.


sleep(1), nanosleep(2)


The sleep() function conforms to IEEE Std 1003.1-1990 (“POSIX.1”).


A sleep() system call first appeared in Version 3 AT&T UNIX. In Version 7 AT&T UNIX, it was removed and replaced by a C library implementation based on signal(3) and alarm(3). For OpenBSD 2.1, it was reimplemented as a wrapper around the nanosleep(2) system call.
February 21, 2014 OpenBSD-current