sleep — sleep for the specified number of seconds


#include <unistd.h>

unsigned int sleep(unsigned int seconds);


sleep() makes the calling thread sleep until seconds seconds have elapsed or 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.


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.


sleep() may be implemented using SIGALRM; 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.


This page is part of release 4.06 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