首页 > 系统相关 >shell sleep 睡眠命令

shell sleep 睡眠命令

时间:2022-10-22 15:35:03浏览次数:67  
标签:脚本 睡眠 shell 示例 echo 命令 sleep 延迟


shell sleep 睡眠

shell sleep 睡眠命令_linux

文章目录

1. 背景

当用户在 Linux 中发出多个命令序列时,命令会立即一个接一个或同时执行(例如,tee 命令)。但是,有时需要推迟命令的执行并为系统提供足够的时间来产生预期的结果。

2. 简介

sleep命令将下一个命令的调用进程挂起一段指定的时间。当以下命令的执行取决于前一个命令的成功完成时,此属性很有用。

3. 语法

sleep [number]

shell sleep 睡眠命令_linux_02


在上面的示例中, aftersleep 5执行后,第二个命令提示符出现了 5 秒的延迟。

默认情况下,系统读取之后sleep的数字作为秒数。要指定其他时间单位,请使用以下语法:

sleep [number][unit]

shell sleep 睡眠命令_运维_03


该sleep命令接受浮点数。它允许多个值相加,以计算sleep.

可用单位有:

  • s– 秒
  • m- 分钟
  • h- 小时
  • d- 天

要sleep在开始后和指定的等待时间结束前停止,请按Ctrl + C。

要查看该sleep命令的帮助,请键入:

sleep

有关版本详细信息,请键入:

sleep

4. 实例

4.1 设置警报

用于sleep告诉系统在一定时间后播放 mp3 文件。该示例使用 mplayer:

sleep 7h 30m &&

4.2 终端中的延迟命令

sleep对于强制执行两个命令之间的时间很有用。以下示例使echo命令以一秒的间隔执行:

sleep 1 && echo "one" && sleep 1 && echo "two"

shell sleep 睡眠命令_运维_04

4.3 将变量分配给 sleep 命令

可以将变量分配给sleep命令。考虑以下 shell 脚本:

#!/bin/bash
SLEEP_INTERVAL="30"
CURRENT_TIME=$(date +"%T")
echo "Time before sleep: ${CURRENT_TIME}"
echo "Sleeping for ${SLEEP_INTERVAL}
sleep ${SLEEP_INTERVAL}
CURRENT_TIME=$(date +"%T")
echo "Time after sleep: ${CURRENT_TIME}"

该脚本定义了一个名为的变量​​SLEEP_INTERVAL​​ ,其值稍后用作sleep命令的参数。此示例脚本的输出显示执行持续了 30 秒:

shell sleep 睡眠命令_linux_05

4.4 定义检查间隔

以下示例说明了sleep在检查网站是否在线的脚本中使用该命令。如果成功 ping 一个网站,脚本就会停止,并sleep在不成功的 ping 之间引入 10 秒的延迟。

#!/bin/bash
while :
do
if ping -c 1 www.google.com &> /dev/null
then
echo "Google is online"
break
fi
sleep 10
done

shell sleep 睡眠命令_后台运行_06

4.5 为操作完成留出时间

您可能正在运行一个 bash 脚本,该脚本在内部调用另外两个 bash 脚本——一个在后台运行测试,另一个打印结果。如果第二个脚本在第一个脚本完成之前执行,用于sleep防止第二个脚本打印错误的结果:

while kill -0 $BACK_PID ; do
echo "Waiting for the process to end"
sleep 1
done

该​​kill -0 $BACK_PID​​命令检查第一个脚本的进程是否仍在运行。如果是,它会打印消息并休眠 1 秒钟,然后再次检查。

4.6 预测延迟

用于sleep允许某些命令执行的延迟。下面的脚本片段显示了如何sleep在下一次迭代之前给 CPU 足够的时间来执行计算。

for (( i = 1 ; i <= 250 ; i++ )); 
do
sleep 1
qsub computation"${i}".pbs
done

5 总结

​bash wait​​ 命令是一个Shell 命令,它等待后台运行的进程完成并返回退出状态。与等待指定时间的 sleep 命令不同,wait 命令等待所有或特定的后台任务完成。

参考:


标签:脚本,睡眠,shell,示例,echo,命令,sleep,延迟
From: https://blog.51cto.com/ghostwritten/5785887

相关文章

  • shell脚本之条件语句
    一、test命令1、格式测试表达式是否成立,若成功返回0,否则返回其他数值格式1:test条件表达式格式2:[条件表达式]二、文件测试1、格式操作符、文件名或者......
  • 关于sleep和定时器
    平时使用sleep多一些,如缓冲满了,等一会再送。while(缓冲满了){sleep(MS)};某个任务,20毫秒执行一次, while(TRUE){ 做任务(用了1毫秒),sleep(18,19毫秒)};几乎很少使用定时器;也感觉不出......
  • xshell登陆,查看中文日志出现乱码
    看到乱码,首先想到的是编码问题linux默认编码格式是utf-8,windows默认gbk[root@backup]#echo$LANGen.US.UTF-8使用fie命令可以查看到文件信息[root@backup]#file-i......
  • linux shell中利用关键字批量移动或复制文件
     001、[root@localhosttest3]#lsa34a45b34b54c23c34dirab[root@localhosttest3]#tree.├──a34├──a45├──b34├──b54├──c23......
  • 正则表达式(C、C++、Python、Shell)
    撰写本文档的初衷本来是想介绍正则表达式怎么写,但是百度一搜,正则表达式的教程的质量已经相当高,我便不在班门弄斧了。正则表达式是一种方法,在不同的语言中,它的应用样式可能......
  • shell命令操作(jenkins执行后判断shell执行的对与错)
    字符截取https://blog.csdn.net/JineD/article/details/124196546 条件判断http://www.caotama.com/1903002.htmlstrA=$(curl--location--requestPOST'https://b......
  • xshell,xftp无法用root用户登录
    默认情况下不允许使用root用户通过ssh登录服务器。编辑vim/etc/ssh/sshd_config文件。#修改前PermitRootLoginProhibit-password#修改后PermitRootLoginyes......
  • 云原生环境搬砖常用Shell-神级
    1.BASH1.1.{}展开$echo{hack,build}hackbuild1.2.变量替换​​http://cn.linux.vbird.org/linux_basic/0320bash_2.php#variable_other​​我们将这部份作个总结说明一......
  • jmeter BeanShell 后置处理器 提取json数组,重新组装后供下一个接口使用
    前置条件:在jmeter中使用Json需要先下载一个json包放到jmeter安装路径下的lib\ext下我这里用的是json-20140107.jar我已经放到了百度网盘上,需要的可以自取:链接:https://p......
  • shell条件语句
    一,条件测试1.test命令测试表达式是否成立,若成立返回0,否则返回其他数值格式1:test条件表达式格式2:[条件表达式][root@localhost~]#test-e1.txt|echo$......