Linux脚本中Sleep和Wait命令的使用例子
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命令的使用例子相关推荐
- Shell 脚本中如何使用make命令
最近开发的项目中需要编写Shell脚本对整个工程进行自动化编译,即在Shell脚本中使用make命令来进行编译,下面回顾一下Shell脚本中如何使用make命令) 在开发一个系统时,一般是将一个系统分 ...
- 在linux系统中创建文件夹,Linux系统中创建文件夹命令详解
Linux系统中创建一个新的文件夹我们可以使用命令来执行,下面由学习啦小编为大家整理了Linux系统中创建文件夹命令详解,希望对大家有帮助! Linux系统中创建文件夹命令详解 一.mkdir命令使用 ...
- linux批量删除screen,你不知道的linux系统中强大的screen命令
linux系统中强大的screen命令可能很多用户还没感受到,下面介绍的就是linux系统中强大的screen命令,具体内容如下所述. 因为做二代测序分析的原因,经常需要运行很长时间的程序.由于时间很 ...
- shell脚本中的结构化命令(if-then-else、case、for、while、until) 脚本中的循环控制
1. 结构化命令 上一次我们学习了shell脚本的一些基础知识,包括环境变量.重定向.数学运算.退出脚本的方式等,想了解的可以戳这个: shell脚本基础 之前,在我们的示例shell脚本里,shel ...
- php ping icmp,Linux_详解Linux系统中ping和arping命令的用法,pingping 程序使用 ICMP 协议的强 - phpStudy...
详解Linux系统中ping和arping命令的用法 pingping 程序使用 ICMP 协议的强制回显请求数据报以使主机或网关发送一份 ICMP 的回显应答.回显请求数据报(" ping ...
- 将Linux脚本中的正常输出,警告,错误等信息输出到文件中
将Linux脚本中的正常输出,警告,错误等信息输出到文件中 转载于:https://www.cnblogs.com/lwmp/p/7700339.html
- ubuntu10右键脚本中增加发送到命令
这是从国外网站下载的一个发送到的脚本,一下为我在ubuntu10下参照readme安装的过程: 首先 sendtomedia脚本需要zenity支持,先打开终端,然后输入sudo apt-get in ...
- linux系统中如何查ip,在Linux系统中查看ip的命令是什么
在Linux系统中查看ip的命令是什么 发布时间:2020-04-30 10:32:07 来源:亿速云 阅读:432 作者:小新 在排除网络问题,设置新连接或配置防火墙时,了解设备的 IP 地址非常重 ...
- linux怎么重复命令,Linux系统中重复执行历史命令的方法有哪些?
今天小编要跟大家分享的文章是关于Linux系统中重复执行历史命令的方法有哪些?各位正在从事Linux运维工作的小伙伴们,如果要执行一条或多条之前输过的指令,要怎么处理?很多人会想到使用上下箭头去翻查历 ...
最新文章
- 手把手教你如何做建模竞赛(baseline代码讲解)
- linux查看设备内存代码,Linux下内存查看命令(示例代码)
- 微服务改造中解决跨库问题的思路
- 【Javascript】复选框的全选与全不选
- php算法在线刷题,c,算法_每日一道算法:leetcode 刷题碰到的问题。,c,算法 - phpStudy...
- Dcloud HTML5 监听蓝牙设备 调用 原生安卓实现 - aspirant - 博客园
- ant-design-vue 环境搭建及入门
- redis——redis事务相关处理
- 漫步数学分析番外二(下)
- linux中split分割文件打开方式,Linux系统下使用split命令分割大文件 (转载)
- 安卓的短信记录导入苹果_安卓换苹果手机如何进行便签数据转移?
- c++实验总结_高考化学选三简答题总结6——配位化合物、配位键、配位数
- SpringBoot整合jsp技术
- c# 中崎_C# 打开钱箱支持北洋、佳博、爱普生
- 合并的表格怎么加横线_怎么在表格中加一横线
- 一次完整的渗透测试流程
- 还未挥洒热血,却道了离别(内涵高质量毕业答辩PPT模板)
- 网页无法访问怎么解决(已解决)
- 快递100企业版接口(API)实时查询、订阅推送、云打印、电子面单实现.Net版
- linux系统tcl电视刷机包,tcl电视刷机包tcl电视升级包系统修复tcl电视强刷包
热门文章
- 2.2nbsp;HOST主桥
- 固态U盘量产:群联PS3111主控开卡量产工具使用教程
- Python-Sklearn内置数据集介绍与“三板斧”
- python核心编程:大神如何用15行Python代码实现网易云热门歌单实例教程
- 【优矿学习】分析新用户引导的代码
- 0基础玩转C语言—初识C语言(上)
- uoj#448. 【集训队作业2018】人类的本质(Min_25筛+拉格朗日插值)
- 以LAN8720A为例的以太网硬件设计方案
- P-1.4.4 A_1_OWwg 1/25报告——OW自瞄的简易实现
- 100%全国产龙芯2K1000设计方案