sleep suspends execution for at least the time in seconds specified by seconds or until a SIGALRM signal is received. The seconds operand can be specified as a floating point number but the actual granularity normally depends on the underlying system.
A floating-point number specifying the time for which to suspend execution. The floating-point number may be specified in all formats required by C99/XPG6, including constants such as Inf or infinite. One of four suffixes may optionally be specified, indicating the number specified is days (d), hours (h), minutes (m), or seconds (s). With no suffix, the interval is assumed to be seconds. If multiple intervals are specified they are summed together. Individual intervals may be negative but the sum must be greater than or equal to zero.
The following example executes a command after a certain amount of time:
example% (sleep 105; command)&Example 2 Executing a Command Every So Often
The following example executes a command every so often:
example% while true do command sleep 37 doneExample 3 Suspending Command Execution Forever
The following example suspends command execution forever or until a SIGALRM signal is received:
example% sleep InfExample 4 Suspending Command Execution for 0.5 Seconds
Suspending command execution for 0.5 seconds using an alternative floating-point representation for the value 0.5:
example% printf "%a\n" 0.5 0x1.0000000000000000000000000000p-01
example% sleep 0x1.0000000000000000000000000000p-01Example 5 Suspending Execution for 23 Hours
The following example suspends execution for twenty three hours using a letter suffixes:
example% sleep 1d -1h
See environ(5) for descriptions of the following environment variables that affect the execution of sleep: LANG, LC_ALL , LC_CTYPE, LC_MESSAGES, and NLSPATH.
The following exit values are returned:
The execution was successfully suspended for at least time seconds, or a SIGALRM signal was received (see NOTES).
An error has occurred.
See attributes(5) for descriptions of the following attributes:
If the sleep utility receives a SIGALRM signal, one of the following actions is taken:
Terminate normally with a zero exit status.
Effectively ignore the signal.
The sleep utility takes the standard action for all other signals.