sleep - sleep for a specified number of seconds
Contents
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 │
└─────────────────────────────────────────────────────────┴───────────────┴─────────────────────────────┘
Caveats
Using longjmp(3) from a signal handler or modifying the handling of SIGALRM while sleeping will cause
undefined results.
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.
History
POSIX.1-2001.
Library
Standard C library (libc, -lc)
Name
sleep - sleep for a specified number of seconds
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.
See Also
sleep(1), alarm(2), nanosleep(2), signal(2), signal(7) Linux man-pages 6.9.1 2024-05-02 sleep(3)
Standards
POSIX.1-2008.
Synopsis
#include<unistd.h>unsignedintsleep(unsignedintseconds);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.
