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