Java 如何知道gradle过程已经结束?

Java 如何知道gradle过程已经结束?,java,shell,gradle,process,automation,Java,Shell,Gradle,Process,Automation,我想让gradle运行进程,这样我就可以知道gradle任务已经结束。 我在我的机器上并行执行gradle任务,如下所示 在窗户里 在Mac中 它将并行触发所有gradle操作 我想在所有梯度任务结束后执行一个操作 如何知道这些gradle使用java或任何东西运行的流程 提前感谢您可以在Bash中使用命令wait: ./gradlew runSuite1 -i --rerun-tasks & pids[0]=$! ./gradlew runSuite2 -i --rerun-task

我想让gradle运行进程,这样我就可以知道gradle任务已经结束。 我在我的机器上并行执行gradle任务,如下所示

在窗户里

在Mac中

它将并行触发所有gradle操作

我想在所有梯度任务结束后执行一个操作

如何知道这些gradle使用java或任何东西运行的流程


提前感谢

您可以在Bash中使用命令
wait

./gradlew runSuite1 -i --rerun-tasks &
pids[0]=$!

./gradlew runSuite2 -i --rerun-tasks &
pids[1]=$!

for pid in ${pids[*]}; do
    wait $pid
done

有关更多信息,请参阅。

我建议依赖对其本身的支持。这会让你的体验轻松得多

除非
runSuite1
runSuite2
在同一个项目中,否则最新的Gradle版本将并行执行它们。注册这两个任务并执行所需的操作变得很简单


如果
runSuite1
runSuite2
是并行的,并且它们的执行时间确实会从并行运行中受益,请查看是否可以将其中一个任务移动到另一个项目。

主要目的是在所有任务都位于单个项目下的情况下并行运行程序。感谢您的建议@Louis Jacometer是否有一种方法可以在批处理文件中执行此操作,我尝试过,但它非常复杂,无法找到任何解决方案。它不像shell脚本那样工作。
 ./gradlew runSuite1 -i --rerun-tasks &
 ./gradlew runSuite2 -i --rerun-tasks &
./gradlew runSuite1 -i --rerun-tasks &
pids[0]=$!

./gradlew runSuite2 -i --rerun-tasks &
pids[1]=$!

for pid in ${pids[*]}; do
    wait $pid
done