Shell脚本:并发运行Java jar文件
我有一个Python脚本,叫做 foo.py
,我需要先执行这个脚本。等这个脚本执行完后,我还需要运行大约10个Java的JAR文件(我们叫它 waldo.jar
)。为了节省时间,我想让它们同时运行。请问我该如何在一个shell脚本中实现这个功能呢?
到目前为止,我有这个:
#!/bin/bash
cd /root
python3 foo.py 1> output.txt
java -jar waldo.jar fooArg barArg & # Jar 1
java -jar waldo.jar fooArg2 barArg2 & # Jar 2
java -jar waldo.jar fooArg3 barArg3 & # Jar 3
... and so on
echo "All Finished!"
我需要那些JAR文件在后台同时运行。
1 个回答
0
在结束之前,你可以添加以下内容,以等待所有子进程完成。
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Waiting for subprocesses..";
for job in `jobs -p`
do
echo $job
wait $job
done