shell中等待其他程序执行完毕
有时候,该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 shell.sh|grep -v grep|grep -v vi|wc -l`
echo $count
do
while [ $count-nq 0 ]
then
count=`ps -ef|grep shell.sh|grep -v grep|grep -v vi|wc -l`
echo $count
sleep 5
done
#这下面可以写 要执行的 后续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 shell.sh|grep -v grep|grep -v vi|wc -l`
echo $count
do
while [ $count-nq 0 ]
then
count=`ps -ef|grep shell.sh|grep -v grep|grep -v vi|wc -l`
echo $count
sleep 5
done
#这下面可以写 要执行的 后续shell了