首页 互联网资讯 网络技术 地区报价 解决方案

互联网资讯

你的位置:欧冠赛程APP下载 > 互联网资讯 > Linux 体系中 Sleep 和 Wait 敕令的运用要领

Linux 体系中 Sleep 和 Wait 敕令的运用要领

发布日期:2022-08-07 08:20    点击次数:63

 Linux 中的sleep和wait敕令准许你以选定的速度运行敕令或在等待使命虚现后捕获并体现使命的退出形态。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/bash  sleep 5 & process_id=$! echo “PID: $process_id” wait $process_id echo “Exit status: $?” 

第一行在后援启动 sleep 敕令。第二行取得比来执行的后援过程的过程 ID$!。尔后脚本体现该信息,等待该过程实现并体现退出形态。

假定运用 wait -n(不需求额外的参数),互联网资讯wait 将等待任何后援使命虚现。在下面的示例中, sleep 6 敕令首先实现,脚本终止,但别的两个 sleep 过程将延续在后援运行几秒钟。

#!/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.” wait -n echo “Next job has been completed.” wait echo “All jobs have been completed.” 

留心:等待的过程必须是“子过程”(在今后 shell 中启动的过程)。

总 结

两者均可以或许在脚本或敕令行中运用。然则,wait 敕令仅实用于在后援运行的过程。