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
|
.\" Hey, EMACS: -*- nroff -*-
.TH SLEEPENH 1 "2003/01/22"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
sleepenh \- an enhanced sleep program.
.SH SYNOPSIS
.B sleepenh
.RI [ initial-time ]
.RI sleep-time
.SH DESCRIPTION
\fBsleepenh\fP is a program that can be used when there is a need
to execute some functions periodically in a shell script. It was
not designed to be acurate for a single sleep, but to be
acurate in a sequence of consecutive sleeps.
.br
After a successfull execution, it returns to stdout the timestamp
it finished running, that can be used as \fBinitial-time\fP to a
successive execution of \fBsleepenh\fP.
.SH OPTIONS
There are no command line options. Run it without any option to
get a brief help and version.
.SH ARGUMENTS
\fBsleep-time\fP is a real number in seconds,
with microseconds resolution (1 minute, 20 seconds and 123456
microseconds would be 80.123456).
.br
\fBinitial-time\fP is a real number in seconds, with microseconds
resolution. This number is system dependent. In GNU/Linux systems,
it is the number of seconds since midnight 1970-01-01 GMT. Do not
try to get a good value of \fBinitial-time\fP. Use the value suplied
by a previous execution of \fBsleepenh\fP.
.br
If you don't specify \fBinitial-time\fP, it is assumed the current-time.
.SH EXIT STATUS
An exit status greater or equal to 10 means failure.
Known exit status:
.TP
.B 0
Success.
.TP
.B 1
Success. There was no need to sleep. (means that initial-time +
sleep-time was greater than current-time).
.TP
.B 10
Failure. Missing command line arguments.
.TP
.B 11
Failure. Did not receive SIGALRM.
.TP
.B 12
Failure. Argument is not a number.
.TP
.B 13
Failure. System error, could not get current time.
.SH USAGE EXAMPLE
Supose you need to send the char 'A' to the serial port ttyS0
every 4 seconds. This will do that:
.Sx
#!/bin/sh
TIMESTAMP=`sleepenh 0`
while true; do
# send the byte to ttyS0
echo -n "A" > /dev/ttyS0;
# just print a nice message on screen
echo -n "I sent 'A' to ttyS0, time now is ";
sleepenh 0;
# wait the required time
TIMESTAMP=`sleepenh $TIMESTAMP 4.0`;
done
.Ex
.SH HINT
This program can be used to get the current time. Just execute:
.TP
sleepenh 0
.SH BUGS
It is not acurate for a single sleep. Short sleep-times will also not
be acurate.
.SH SEE ALSO
.BR date (1),
.BR sleep (1).
.br
.SH AUTHOR
This manual page was written by Pedro Zorzenon Neto
<pzn@autsens.com>.
|