在centos服务器上需要并行运行多个完全独立的任务。
通过判断任务的pid是否存在来确定任务是否结束。
由于bash是顺序执行任务的,执行完一个任务才执行下一个。要实现并行执行,脚本可以如下:
#!/bin/bash
start_t=`date +"%F %T"`
echo "start [" $start_t "]"
./mytask1 &
./mytask2 &
while [ 1 ]
do
usleep 1000000
procid=`pgrep mytask1 mytask2`
if [ "" = "$procid" ];then
current_time=`date +"%F %T"`
echo "finish [" $current_time "]"
break
fi
done&
注意:
1、"&"起了并发作用(line 6,7)
2、判断字符串是否相等, "=" 两部必须有空格,这是bash脚本的要求
本文介绍了一种在CentOS服务器上使用bash脚本并行运行多个独立任务的方法。通过在后台启动任务,并利用pgrep检查任务进程ID来判断任务是否完成。此脚本能够有效地监控任务状态并确保所有任务完成后输出完成信息。

1635

被折叠的 条评论
为什么被折叠?



