Linux上的睡眠和等待

Linux睡眠等待命令允许您以选择的速度运行命令,或者在等待任务完成后捕获并显示任务的退出状态。睡眠只需在命令之间插入一个定时暂停。等待另一方面,它会等待流程完成,然后通知您它已经完成。

睡眠

睡眠命令暂停指定的时间。它通常在脚本中使用,但也可以在命令行中使用。在下面的例子中,睡眠在两者之间停顿了一分钟日期命令。

美元的日期;睡眠60;日期(美国东部时间2021年9月8日星期三)12:10:40 PM

睡眠命令接受数值参数作为秒数。然而,你可以通过在参数中添加另一个字符来要求它休眠不同的时间:
1m = 1分钟2h = 2小时3d = 3天
美元的日期;睡眠1米;日期:美国东部时间2021年9月8日星期三12:16:38

事实上,你可以睡眠如果需要的话,一秒钟之内。

0.1 = 1/10秒0.01 = 1/100秒1/ 1000秒
美元的日期;睡眠。1;日期:美国东部时间2021年9月8日星期三12:18:57 PM

睡眠Command通常用于在需要监视某些活动时周期性地运行命令,例如每10秒或每分钟运行一次。例如,也许您正在等待一位同事登录到文件服务器。你可以这样运行一个命令:

300美元,而真正的> > >谁睡>做啦pts / 0 2021-09-07十一27(192.168.0.10)无分/ 0 2021-09-07(192.168.0.10)霎时一切都无分/ 0 2021-09-07 11:37(192.168.0.10)无分/ 0 2021-09-07 11:42(192.168.0.10)无分/ 0 2021-09-07 47(192.168.0.10)无分/ 0 2021-09-07 11:52 (192.168.0.10)nemo分/ 1 2021-09-07 11:52(192.168.0.15)< = =最后!

你最好留意一下系统的变化。在下面的示例中,我们将观察内存使用情况的变化。

而真正的美元;做免费的;睡眠10;total used free shared buff/cache available Mem: 6064768 767700 1482668 8136 3814400 4989360 Swap: 6064124 0 6064124 total used free shared buff/cache available

关键是,你不希望数据在屏幕上飞过的速度超过你阅读或理解它的速度。

如果您每天运行一个特定的任务一次,您可能最好使用cron,但你可以用睡眠.只要记住,您正在运行的任务也需要时间,所以任务可能不会每天在同一时间运行。

等待

等待命令捕获后台进程完成后的退出状态。参数应该是进程ID (PID)或进程的作业号(例如4563或%2)。您可以使用如下命令(PID = 819227,作业id = %1)来尝试它:

$ sleep 10 & [1] 819227 $ wait %1[1]+完成sleep 10

您也可以像这样在脚本中使用它。取代睡眠命令,使用您想要等待的进程。该脚本还显示退出状态。

#!/bin/bash sleep 5 & process_id=$!echo " PID: $process_id " wait $process_id echo " Exit status: $?

第一行开始睡眠命令在后台。第二个获取最近执行的后台进程的进程ID ($!).然后脚本显示该信息,等待进程完成并显示退出状态。

如果你使用等待- n(不需要其他参数),等待将等待任何后台任务要完成。在下面的例子中睡眠6命令将首先完成,脚本将结束,但其他两个休眠进程将继续在后台运行一定秒数。

#!/bin/bash sleep 15 & sleep 9 & sleep 6 & wait -n echo " First job has been completed. "

如果您运行下面的脚本,它将告诉您每一个睡眠过程完成。由于时间的原因,这将以相反的顺序发生睡眠流程开始。

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

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

总结

睡眠等待当您希望以较慢的速度观察系统变化,或者希望在脚本完成各种过程时从脚本获得反馈时,命令可以提供帮助。两者都可以在脚本或命令行中使用。然而,等待命令(内置的bash)只对在后台运行的进程有效。

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对自己最关心的话题发表评论。
相关:

版权©2021Raybet2

SD-WAN买家指南:向供应商(和您自己)提出的关键问题