sleep(3)

sleep3

Sleep for a specified number of seconds

Usage

#include <unistd.h>

unsigned int sleep(unsigned int seconds);

Library

Standard C library (libc, -lc)

Overview

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).

InterfaceAttributeValue
sleep()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.

Caveats

Using longjmp(3) from a signal handler or modifying the handling of SIGALRM while sleeping will cause undefined results.

Releases

19 releases since Debian 1.1 (Buzz); the text changed 13 times.

  1. 1.1–2.2
  2. 3.0
  3. 3.1
  4. 4.0
  5. 5.0
  6. 6.0
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. Arch

Standards

POSIX.1-2008.

History

POSIX.1-2001.

From man-pages 6.19-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.