sleep is a Unix command line program that suspends program execution for a specified period of time. The sleep instruction suspends the calling process for at least the specified number of seconds (the default), minutes, hours or days.
sleep '''number'''[suffix]... or: sleep option
Where number is a required floating point number, and suffix is an optional suffix to indicate the time period.
s (seconds) m (minutes) h (hours) d (days)
--help display this help and exit --version output version information and exit
Causes the current terminal session to wait 5 seconds. The default unit is seconds.
Causes the current terminal session to wait 5 hours
sleep 3h ; mplayer foo.mp3
Wait 3 hours then play foo.mp3
Note that sleep 5h30m and sleep 5h 30m are illegal since sleep takes only one value and unit as argument. However, sleep 5.5h is allowed. Consecutive executions of sleep can also be used.
sleep 5h; sleep 30m
Sleep 5 hours, then sleep another 30 minutes.
The GNU Project's implementation of sleep (part of coreutils) allows the user to pass multiple arguments, therefore sleep 5h 30m (a space separating hours and minutes is needed) will work on any system which uses GNU sleep, including GNU/Linux.
Possible uses for sleep include scheduling tasks and delaying execution to allow a process to start, or waiting until a shared network connection most likely has few users to wget a large file.
See also