Shell脚本:并发运行Java jar文件

-1 投票
1 回答
580 浏览
提问于 2025-04-18 09:13

我有一个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

撰写回答