logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

sleepenh - an enhanced sleep program

Arguments

TIMETOSLEEP is a real number in seconds, with microseconds resolution (1 minute, 20  seconds  and  123456
       microseconds would be 80.123456).
       INITIALTIME  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 INITIALTIME. Use the value supplied by a previous execution of sleepenh.
       If you don't specify INITIALTIME, it is assumed the current time.

Author

       This manual page was written by Pedro Zorzenon Neto.

sleepenh                                           2024-12-09                                        SLEEPENH(1)

Bugs

       It is not accurate for a single sleep. Short TIMETOSLEEPs will also not be accurate.

Description

sleepenh  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 accurate for a single sleep, but to be accurate in a sequence  of
       consecutive sleeps.
       After a successful execution, it returns to stdout the timestamp it finished running, that can be used as
       INITIALTIME to a successive execution of sleepenh.

Exit Status

       An exit status greater or equal to 10 means failure.  Known exit status:

       0      Success.

       1      Success. There was no need to sleep. (means  that  INITIALTIME  +  TIMETOSLEEP  was  greater  than
              current time).

       10     Failure. Missing command line arguments.

       11     Failure. Did not receive SIGALRM.

       12     Failure. Argument is not a number.

       13     Failure. System error, could not get current time.

Hint

       This program can be used to get the current time. Just execute:

       sleepenh 0

Name

       sleepenh - an enhanced sleep program

Options

-h, --help
              display this help and exit

       -w, --warp
              warp  resulting  timestamp,  when  there  is  no  need to sleep.  An immediately following call of
              sleepenh with the resulting TIMESTAMP would most probably result in a real sleep.

       -V, --version
              output version information and exit

See Also

date(1), sleep(1).

Synopsis

sleepenh [[--warp|-w] INITIALTIME] TIMETOSLEEP

Usage Example

       Suppose you need to send the char 'A' to the serial port ttyS0 every 4 seconds. This will do that:
               #!/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

See Also