System Grab Bag

View all man pages from Linux (or from all projects)

Name

sleep - 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). allbox; lbx lb lb T{ sleep()
InterfaceAttributeValue
T}Thread safetyMT-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

  1. sleep(1),
  2. alarm(2),
  3. nanosleep(2),
  4. signal(2),
  5. signal(7)