'\" t .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified Sat Jul 24 18:16:02 1993 by Rik Faith (faith@cs.unc.edu) .TH sleep 3 2024-05-02 "Linux man-pages 6.9.1" .SH NAME sleep \- sleep for a specified number of seconds .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .P .BI "unsigned int sleep(unsigned int " "seconds" ); .fi .SH DESCRIPTION .BR sleep () causes the calling thread to sleep either until the number of real-time seconds specified in .I seconds have elapsed or until a signal arrives which is not ignored. .SH 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. .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .na .nh .BR sleep () T} Thread safety MT-Unsafe sig:SIGCHLD/linux .TE .SH VERSIONS On Linux, .BR sleep () is implemented via .BR nanosleep (2). See the .BR nanosleep (2) man page for a discussion of the clock used. .P On some systems, .BR sleep () may be implemented using .BR alarm (2) and .B SIGALRM (POSIX.1 permits this); mixing calls to .BR alarm (2) and .BR sleep () is a bad idea. .SH STANDARDS POSIX.1-2008. .SH HISTORY POSIX.1-2001. .SH CAVEATS Using .BR longjmp (3) from a signal handler or modifying the handling of .B SIGALRM while sleeping will cause undefined results. .SH SEE ALSO .BR sleep (1), .BR alarm (2), .BR nanosleep (2), .BR signal (2), .BR signal (7)