sleep man page

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.

See Also

sleep(1), alarm(2), nanosleep(2), signal(2), signal(7)


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

Referenced By

aio(7), alarm(2), clock_nanosleep(2), dnscap(1), dskutil(1), explain(1), explain(3), explain_sleep(3), explain_sleep_or_die(3), getitimer(2), nanosleep(2), pth(3), pthsem(3), signal(7), sleep(1), stress-ng(1), time(7), ualarm(3), upslog(8), usleep(3).

2016-03-15 GNU Linux Programmer's Manual