sleep - Man Page
sleep for a specified number of seconds
Library
Standard C library (libc, -lc)
Synopsis
#include <unistd.h> unsigned int sleep(unsigned int seconds);
Description
sleep() causes the calling thread to sleep either until the number of real-time seconds specified in seconds have elapsed or until a signal arrives which is not ignored.
Return Value
Zero if the requested time has elapsed, or the number of seconds left to sleep, if the call was interrupted by a signal handler.
Attributes
For an explanation of the terms used in this section, see attributes(7).
Interface | Attribute | Value |
---|---|---|
sleep() | Thread safety | MT-Unsafe sig:SIGCHLD/linux |
Versions
On Linux, sleep() is implemented via nanosleep(2). See the nanosleep(2) man page for a discussion of the clock used.
On some systems, sleep() may be implemented using alarm(2) and SIGALRM (POSIX.1 permits this); mixing calls to alarm(2) and sleep() is a bad idea.
Standards
POSIX.1-2008.
History
POSIX.1-2001.
Caveats
Using longjmp(3) from a signal handler or modifying the handling of SIGALRM while sleeping will cause undefined results.
See Also
Referenced By
aio(7), alarm(2), clock_nanosleep(2), dskutil(1), getitimer(2), libperf-sampling(7), libuv(1), nanosleep(2), OSSL_sleep.3ossl(3), signal(7), signal-safety(7), sleep(1), stress-ng(1), time(7), ualarm(3), upslog(8), usleep(3).