shell中等待其他程序执行完毕

时间:2025-05-12 09:17:32
有时候,该shell脚本需要等到另一个shell脚本 或 程序执行完毕之后,才开始执行。
 
提供一种方法:
 
查看 前序 脚本或程序 的进程是否已经执行结束:
 
#如果有程序在make,则等待make结束
cnt=`ps -ef|grep "make"|grep "all"|grep -v grep|grep -v vi|wc -l`
echo $cnt
do
    while [ $cnt -nq 0 ]
    then
        cnt=`ps -ef|grep "make"|grep "all"|grep -v grep|grep -v vi|wc -l`
        echo $cnt
        sleep 5
    done
 
#如果前序 脚本或程序 正在执行,则等待5s
count=`ps -ef|grep |grep -v grep|grep -v vi|wc -l`
echo $count
do   
    while [ $count-nq 0 ]
    then
       count=`ps -ef|grep |grep -v grep|grep -v vi|wc -l`
        echo $count
        sleep 5
    done
 
#这下面可以写 要执行的 后续shell了

相关文章