Manpages - sleep.3
Table of Contents
![](https://distro.tube/img/logo.png)
NAME
sleep - sleep for a specified number of seconds
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 |
CONFORMING TO
POSIX.1-2001, POSIX.1-2008.
NOTES
On Linux, *sleep*() is implemented via *nanosleep*(2). See the *nanosleep*(2) man page for a discussion of the clock used.
Portability notes
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.
Using longjmp*(3) from a signal handler or modifying the handling of *SIGALRM while sleeping will cause undefined results.
SEE ALSO
*sleep*(1), *alarm*(2), *nanosleep*(2), *signal*(2), *signal*(7)
COLOPHON
This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.