# sleep

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           sleep — suspend execution for an interval
    


## SYNOPSIS



           sleep _time_
    


## DESCRIPTION



           The _sleep_ utility shall suspend execution for at least the
           integral number of seconds specified by the _time_ operand.
    


## OPTIONS



           None.
    


## OPERANDS



           The following operand shall be supported:
    
           _time_      A non-negative decimal integer specifying the number of
                     seconds for which to suspend execution.
    


## STDIN



           Not used.
    


## INPUT FILES



           None.
    


## ENVIRONMENT VARIABLES



           The following environment variables shall affect the execution of
           _sleep_ :
    
           _LANG_      Provide a default value for the internationalization
                     variables that are unset or null. (See the Base
                     Definitions volume of POSIX.1‐2017, _Section 8.2_ ,
                     _Internationalization Variables_ for the precedence of
                     internationalization variables used to determine the
                     values of locale categories.)
    
           _LC_ALL_    If set to a non-empty string value, override the values
                     of all the other internationalization variables.
    
           _LC_CTYPE_  Determine the locale for the interpretation of sequences
                     of bytes of text data as characters (for example,
                     single-byte as opposed to multi-byte characters in
                     arguments).
    
           _LC_MESSAGES_
                     Determine the locale that should be used to affect the
                     format and contents of diagnostic messages written to
                     standard error.
    
           _NLSPATH_   Determine the location of message catalogs for the
                     processing of _LC_MESSAGES_.
    


## ASYNCHRONOUS EVENTS



           If the _sleep_ utility receives a SIGALRM signal, one of the
           following actions shall be taken:
    
            1. Terminate normally with a zero exit status.
    
            2. Effectively ignore the signal.
    
            3. Provide the default behavior for signals described in the
               ASYNCHRONOUS EVENTS section of _Section 1.4_ , _Utility_
               _Description Defaults_.  This could include terminating with a
               non-zero exit status.
    
           The _sleep_ utility shall take the standard action for all other
           signals.
    


## STDOUT



           Not used.
    


## STDERR



           The standard error shall be used only for diagnostic messages.
    


## OUTPUT FILES



           None.
    


## EXTENDED DESCRIPTION



           None.
    


## EXIT STATUS



           The following exit values shall be returned:
    
            0    The execution was successfully suspended for at least _time_
                 seconds, or a SIGALRM signal was received. See the
                 ASYNCHRONOUS EVENTS section.
    
           >0    An error occurred.
    


## CONSEQUENCES OF ERRORS



           Default.
    
           _The following sections are informative._
    


## APPLICATION USAGE



           None.
    


## EXAMPLES



           The _sleep_ utility can be used to execute a command after a certain
           amount of time, as in:
    
               (sleep 105; _command_) &
    
           or to execute a command every so often, as in:
    
               while true
               do
                   _command_
                   sleep 37
               done
    


## RATIONALE



           The exit status is allowed to be zero when _sleep_ is interrupted by
           the SIGALRM signal because most implementations of this utility
           rely on the arrival of that signal to notify them that the
           requested finishing time has been successfully attained. Such
           implementations thus do not distinguish this situation from the
           successful completion case. Other implementations are allowed to
           catch the signal and go back to sleep until the requested time
           expires or to provide the normal signal termination procedures.
    
           As with all other utilities that take integral operands and do not
           specify subranges of allowed values, _sleep_ is required by this
           volume of POSIX.1‐2017 to deal with _time_ requests of up to
           2147483647 seconds. This may mean that some implementations have
           to make multiple calls to the delay mechanism of the underlying
           operating system if its argument range is less than this.
    


## FUTURE DIRECTIONS



           None.
    


* * *