/usr/bin/sleep interval[d|h|m|s]...
sleep 至少在 seconds 指定的时间(以秒为单位)内暂停执行,或将其暂停至收到 SIGALRM 信号为止。seconds 操作数可采用浮点数的形式指定,但实际粒度通常取决于底层系统。
用于指定暂停执行的持续时间的浮点数。该浮点数可采用 C99/XPG6 所需要的所有格式来指定,包括 Inf 或 infinite 等常量。可以有选择地指定四种后缀之一,用来表示该数值是以天 (d)、小时 (h)、分钟 (m) 还是秒 (s) 为单位。如果不带后缀,则假定时间间隔以秒为单位。如果指定了多个时间间隔,它们将累加在一起。单个时间间隔可以为负值,但其总和必须大于等于零。
以下示例在一定的时间之后执行命令:
example% (sleep 105; command)&示例 2 不定期执行命令
以下示例不定期执行命令:
example% while true do command sleep 37 done示例 3 永久暂停命令执行
以下示例永久暂停执行命令,或暂停至收到 SIGALRM 信号为止:
example% sleep Inf示例 4 持续 0.5 秒暂停执行命令
使用表示值 0.5 的备用浮点数形式,持续 0.5 秒暂停执行命令:
example% printf "%a\n" 0.5 0x1.0000000000000000000000000000p-01
example% sleep 0x1.0000000000000000000000000000p-01示例 5 持续 23 小时暂停执行命令
以下示例使用字母后缀,持续 23 小时暂停执行命令:
example% sleep 1d -1h
有关影响 sleep 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。
将返回以下退出值:
已成功暂停执行命令,至少持续 time 秒,或直至收到 SIGALRM 信号(请参见“附注”部分)。
出现错误。
有关下列属性的说明,请参见 attributes(5):
|
wait(1)、alarm(2)、sleep(3C)、attributes(5)、environ(5)、standards(5)
如果 sleep 实用程序收到 SIGALRM 信号,将执行以下操作之一:
以零退出状态正常终止。
有效的忽略该信号。
sleep 实用程序对所有其他信号执行标准操作。