1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename sleep-until.info
@settitle sleep-until
@afourpaper
@documentencoding UTF-8
@documentlanguage en
@finalout
@c %**end of header
@dircategory Miscellaneous
@direntry
* sleep-until: (sleep-until). Sleep until a specified time
@end direntry
@copying
Copyright @copyright{} 2015 Mattias Andrée
@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
``GNU Free Documentation License''.
@end quotation
@end copying
@ifnottex
@node Top
@top sleep-until -- Sleep until a specified time
@insertcopying
@end ifnottex
@titlepage
@title sleep-until
@subtitle Sleep until a specified time
@author by Mattias Andrée (maandree)
@page
@c @center `'
@vskip 0pt plus 1filll
@insertcopying
@end titlepage
@contents
@menu
* Overview:: Brief overview of @command{sleep-until}.
* Invoking:: Invocation of @command{sleep-until}.
* GNU Free Documentation License:: Copying and sharing this manual.
@end menu
@node Overview
@chapter Overview
Sleeps until a specified time. @command{sleep-until}
only supports the time to be specified by number of
seconds (and nanoseconds) since an epoch. The program
supports multiple clocks: all clocks supported by
timerfd.
@node Invoking
@chapter Invoking
@command{sleep-until} takes any number of arguments,
of two classes: clock name and time point. The last
specified clock name and the highest time point will
be used. The time point may be a floating-point number.
If no time point is specified, the program will exit
with exit value 0. Otherwise the process will terminate,
with exit value 0, when the selected time has been
reached.
Note that it is not possible to wait on two or more
clocks at the same time. Rather, you need invoke
@command{sleep-until} multiple times with different
clocks. This is because the order of the arguments
must not be important.
By default, the clock @code{CLOCK_REALTIME} is used.
In this case, the process will terminate at the
selected number of seconds of the Epoch
(1970-(01)Jan-01 00:00:00), in UTC but not accounting
for leap seconds.
Some versions of @command{date} can be used to
specify the time point in a convenient manner.
The clock is select by the name of the clock.
On Linux 4.2.2 the clock that can be used are:
@itemize @bullet{}
@item @code{CLOCK_REALTIME}
@item @code{CLOCK_MONOTONIC}
@item @code{CLOCK_BOOTTIME}
@item @code{CLOCK_REALTIME_ALARM}
@item @code{CLOCK_BOOTTIME_ALARM}
@end itemize
@noindent
Note that the neither course clocks, @code{CLOCK_MONOTONIC_RAW}
(the proper implementation of a monotonic clock), and
@code{CLOCK_TAI} does not work.
@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include fdl.texinfo
@bye
|