suspend process execution for interval
measured in seconds
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
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() function conforms to
IEEE Std 1003.1-1990 (“POSIX.1”).
sleep() system call first appeared in
Version 2 AT&T UNIX. In
Version 7 AT&T UNIX, it was removed and
replaced by a C library implementation based on
alarm(3). For OpenBSD 2.1, it was
reimplemented as a wrapper around the
nanosleep(2) system call.