Sleep命令

sleep 命令会暂停指定的时间。它通常用于脚本中,但也适用于命令行。在下面的示例中, sleep 在两个 date 命令之间暂停30秒。

[root@localhost ~]# date ; sleep 30 ; date
Thu Nov 11 05:06:44 EST 2021
Thu Nov 11 05:07:14 EST 2021

sleep 命令将数字参数作为秒数。但也可以通过在参数中添加一个字符来让它休眠不同的时间:

  • 10s = 10 seconds
  • 1m = 1 minute
  • 2h = 2 hours
  • 3d = 3 days
[root@localhost ~]# date ; sleep 10s ; date
Thu Nov 11 05:11:09 EST 2021
Thu Nov 11 05:11:19 EST 2021

睡眠时间也可以小于1秒钟,就是在数字前面加一个..

  • .1 = 十分之一秒
  • .01 = 百分之一秒
  • .001 = 千分之一秒
[root@localhost ~]# date ; sleep .1 ; date
Thu Nov 11 05:14:03 EST 2021
Thu Nov 11 05:14:03 EST 2021

sleep 命令通常用于定期运行命令,例如每 10 秒或每分钟一次,当你想要监视某些活动时。例如,可能正在等待同事登录文件服务器。您可能会运行这样的命令:

[root@localhost ~]# while true ; do who ; sleep 100 ; done

可以观察内存使用情况的变化。

[root@localhost ~]# while true ; do free -h ; sleep 5 ; done

Wait命令

wait 命令在等待后台进程完成后捕获后台进程的退出状态。您也可以在脚本中使用它。将 sleep 命令替换为要等待的进程。此脚本还显示退出状态。

#!/bin/bashsleep 5 &
process_id=$!
echo “PID: $process_id”
wait $process_id
echo “Exit status: $?”

第一行在后台启动 sleep 命令。第二行获取最近执行的后台进程的进程 ID$!。然后脚本显示该信息,等待该进程完成并显示退出状态。

如果使用 wait -n(不需要额外的参数),wait 将等待任何后台任务完成。在下面的示例中, sleep 6 命令首先完成,脚本结束,但其他两个 sleep 进程将继续在后台运行几秒钟。

#!/bin/bashsleep 15 &
sleep 9 &
sleep 6 &
wait -n
echo “First job has been completed.”

如果改成以下脚本,它会在每个睡眠过程完成时告诉你。由于时间关系,这将按照与睡眠过程开始时相反的顺序发生。

#!/bin/bashsleep 15 &
sleep 9 &
sleep 6 &
wait -n
echo “First job has been completed.”
wait -n
echo “Next job has been completed.”
wait
echo “All jobs have been completed.”

注意:等待的进程必须是“子进程”(在当前 shell 中启动的进程)。

总结

两者都可以在脚本或命令行中使用。但是,wait 命令仅适用于在后台运行的进程。

Linux脚本中Sleep和Wait命令的使用例子相关推荐

  1. Shell 脚本中如何使用make命令

    最近开发的项目中需要编写Shell脚本对整个工程进行自动化编译,即在Shell脚本中使用make命令来进行编译,下面回顾一下Shell脚本中如何使用make命令) 在开发一个系统时,一般是将一个系统分 ...

  2. 在linux系统中创建文件夹,Linux系统中创建文件夹命令详解

    Linux系统中创建一个新的文件夹我们可以使用命令来执行,下面由学习啦小编为大家整理了Linux系统中创建文件夹命令详解,希望对大家有帮助! Linux系统中创建文件夹命令详解 一.mkdir命令使用 ...

  3. linux批量删除screen,你不知道的linux系统中强大的screen命令

    linux系统中强大的screen命令可能很多用户还没感受到,下面介绍的就是linux系统中强大的screen命令,具体内容如下所述. 因为做二代测序分析的原因,经常需要运行很长时间的程序.由于时间很 ...

  4. shell脚本中的结构化命令(if-then-else、case、for、while、until) 脚本中的循环控制

    1. 结构化命令 上一次我们学习了shell脚本的一些基础知识,包括环境变量.重定向.数学运算.退出脚本的方式等,想了解的可以戳这个: shell脚本基础 之前,在我们的示例shell脚本里,shel ...

  5. php ping icmp,Linux_详解Linux系统中ping和arping命令的用法,pingping 程序使用 ICMP 协议的强 - phpStudy...

    详解Linux系统中ping和arping命令的用法 pingping 程序使用 ICMP 协议的强制回显请求数据报以使主机或网关发送一份 ICMP 的回显应答.回显请求数据报(" ping ...

  6. 将Linux脚本中的正常输出,警告,错误等信息输出到文件中

    将Linux脚本中的正常输出,警告,错误等信息输出到文件中 转载于:https://www.cnblogs.com/lwmp/p/7700339.html

  7. ubuntu10右键脚本中增加发送到命令

    这是从国外网站下载的一个发送到的脚本,一下为我在ubuntu10下参照readme安装的过程: 首先 sendtomedia脚本需要zenity支持,先打开终端,然后输入sudo apt-get in ...

  8. linux系统中如何查ip,在Linux系统中查看ip的命令是什么

    在Linux系统中查看ip的命令是什么 发布时间:2020-04-30 10:32:07 来源:亿速云 阅读:432 作者:小新 在排除网络问题,设置新连接或配置防火墙时,了解设备的 IP 地址非常重 ...

  9. linux怎么重复命令,Linux系统中重复执行历史命令的方法有哪些?

    今天小编要跟大家分享的文章是关于Linux系统中重复执行历史命令的方法有哪些?各位正在从事Linux运维工作的小伙伴们,如果要执行一条或多条之前输过的指令,要怎么处理?很多人会想到使用上下箭头去翻查历 ...

最新文章

  1. 手把手教你如何做建模竞赛(baseline代码讲解)
  2. linux查看设备内存代码,Linux下内存查看命令(示例代码)
  3. 微服务改造中解决跨库问题的思路
  4. 【Javascript】复选框的全选与全不选
  5. php算法在线刷题,c,算法_每日一道算法:leetcode 刷题碰到的问题。,c,算法 - phpStudy...
  6. Dcloud HTML5 监听蓝牙设备 调用 原生安卓实现 - aspirant - 博客园
  7. ant-design-vue 环境搭建及入门
  8. redis——redis事务相关处理
  9. 漫步数学分析番外二(下)
  10. linux中split分割文件打开方式,Linux系统下使用split命令分割大文件 (转载)
  11. 安卓的短信记录导入苹果_安卓换苹果手机如何进行便签数据转移?
  12. c++实验总结_高考化学选三简答题总结6——配位化合物、配位键、配位数
  13. SpringBoot整合jsp技术
  14. c# 中崎_C# 打开钱箱支持北洋、佳博、爱普生
  15. 合并的表格怎么加横线_怎么在表格中加一横线
  16. 一次完整的渗透测试流程
  17. 还未挥洒热血,却道了离别(内涵高质量毕业答辩PPT模板)
  18. 网页无法访问怎么解决(已解决)
  19. 快递100企业版接口(API)实时查询、订阅推送、云打印、电子面单实现.Net版
  20. linux系统tcl电视刷机包,tcl电视刷机包tcl电视升级包系统修复tcl电视强刷包

热门文章

  1. 2.2nbsp;HOST主桥
  2. 固态U盘量产:群联PS3111主控开卡量产工具使用教程
  3. Python-Sklearn内置数据集介绍与“三板斧”
  4. python核心编程:大神如何用15行Python代码实现网易云热门歌单实例教程
  5. 【优矿学习】分析新用户引导的代码
  6. 0基础玩转C语言—初识C语言(上)
  7. uoj#448. 【集训队作业2018】人类的本质(Min_25筛+拉格朗日插值)
  8. 以LAN8720A为例的以太网硬件设计方案
  9. P-1.4.4 A_1_OWwg 1/25报告——OW自瞄的简易实现
  10. 100%全国产龙芯2K1000设计方案