xref: /freebsd/bin/sleep/sleep.1 (revision cbb3ec25236ba72f91cbdf23f8b78b9d1af0cedf)
1.\"-
2.\" Copyright (c) 1990, 1993, 1994
3.\"	The Regents of the University of California.  All rights reserved.
4.\"
5.\" This code is derived from software contributed to Berkeley by
6.\" the Institute of Electrical and Electronics Engineers, Inc.
7.\"
8.\" Redistribution and use in source and binary forms, with or without
9.\" modification, are permitted provided that the following conditions
10.\" are met:
11.\" 1. Redistributions of source code must retain the above copyright
12.\"    notice, this list of conditions and the following disclaimer.
13.\" 2. Redistributions in binary form must reproduce the above copyright
14.\"    notice, this list of conditions and the following disclaimer in the
15.\"    documentation and/or other materials provided with the distribution.
16.\" 3. Neither the name of the University nor the names of its contributors
17.\"    may be used to endorse or promote products derived from this software
18.\"    without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\"	@(#)sleep.1	8.3 (Berkeley) 4/18/94
33.\"
34.Dd May 25, 2022
35.Dt SLEEP 1
36.Os
37.Sh NAME
38.Nm sleep
39.Nd suspend execution for an interval of time
40.Sh SYNOPSIS
41.Nm
42.Ar number Ns Op Ar unit
43.Ar ...
44.Sh DESCRIPTION
45The
46.Nm
47command suspends execution for a minimum of
48.Ar number
49seconds (the default, or unit
50.Cm s ) ,
51minutes (unit
52.Cm m ) ,
53hours (unit
54.Cm h ) ,
55or days (unit
56.Cm d ) .
57If multiple arguments are passed, the delay will be the sum of all values.
58.Pp
59If the
60.Nm
61command receives a signal, it takes the standard action.
62When the
63.Dv SIGINFO
64signal is received, the estimate of the amount of seconds left to
65sleep is printed on the standard output.
66.Sh IMPLEMENTATION NOTES
67The
68.Dv SIGALRM
69signal is not handled specially by this implementation.
70.Pp
71The
72.Nm
73command supports other time units than seconds,
74honors a non-integer number of time units to sleep in any form acceptable by
75.Xr strtod 3 ,
76and accepts more than one delay value.
77These are non-portable extensions, but they have also been implemented
78in GNU sh-utils since version 2.0a (released in 2002).
79.Sh EXIT STATUS
80.Ex -std
81.Sh EXAMPLES
82To schedule the execution of a command for
83.Va x
84number seconds later (with
85.Xr csh 1 ) :
86.Pp
87.Dl (sleep 1800; sh command_file >& errors)&
88.Pp
89This incantation would wait a half hour before
90running the script command_file.
91(See the
92.Xr at 1
93utility.)
94.Pp
95To reiteratively run a command (with the
96.Xr csh 1 ) :
97.Pp
98.Bd -literal -offset indent -compact
99while (1)
100	if (! -r zzz.rawdata) then
101		sleep 300
102	else
103		foreach i (`ls *.rawdata`)
104			sleep 70
105			awk -f collapse_data $i >> results
106		end
107		break
108	endif
109end
110.Ed
111.Pp
112The scenario for a script such as this might be: a program currently
113running is taking longer than expected to process a series of
114files, and it would be nice to have
115another program start processing the files created by the first
116program as soon as it is finished (when zzz.rawdata is created).
117The script checks every five minutes for the file zzz.rawdata,
118when the file is found, then another portion processing
119is done courteously by sleeping for 70 seconds in between each
120awk job.
121.Sh SEE ALSO
122.Xr nanosleep 2 ,
123.Xr sleep 3
124.Sh STANDARDS
125The
126.Nm
127command is expected to be
128.St -p1003.2
129compatible.
130.Sh HISTORY
131A
132.Nm
133command appeared in
134.At v4 .
135