NAME
sleep
—
suspend process execution for interval
measured in seconds
SYNOPSIS
#include
<unistd.h>
unsigned int
sleep
(unsigned
int seconds);
DESCRIPTION
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
.
RETURN VALUES
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.
SEE ALSO
STANDARDS
The sleep
() function conforms to
IEEE Std 1003.1-1990 (“POSIX.1”).
HISTORY
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.