如果底层Java进程被终止,如何使gradle run终止?

jdg4fx2g  于 2023-11-18  发布在  Java
关注(0)|答案(2)|浏览(187)

我有一个应用Gradle application插件的项目。我的问题是,即使底层进程终止,它也不会终止:如果我运行这个:

gradle run

字符串
如果一个main只包含一个System.exit(0);,程序会终止,但Gradle不会。当底层Java程序终止时,如何强制Gradle进程终止?

  • 编辑:* 我知道我可以调用gradle --stop,但这需要另一个过程,这不是一个选项。
bvjxkvbb

bvjxkvbb1#

gradle run会在您的应用程序终止时终止。但是,如果您使用gradle daemon(在后续版本中默认启用),则守护程序仍然有效。
最简单的解决方案是将--no-daemon传递到gradle CLI。您也可以在属性中配置它。

92dk7w1h

92dk7w1h2#

从Linux手动杀死Java进程。Linux使用killall java,Windows使用taskkill /f /im java.exe
以我的script.cmd为例

@echo off

taskkill /f /im java.exe
call gradlew :app:assembleAarch64Release --no-daemon -Dorg.gradle.jvmargs="-Xmx1g -Xms300m"
taskkill /f /im java.exe
call gradlew :app:assembleArmRelease --no-daemon -Dorg.gradle.jvmargs="-Xmx1g -Xms300m"
taskkill /f /im java.exe
call gradlew :app:assembleX86Release --no-daemon -Dorg.gradle.jvmargs="-Xmx1g -Xms300m"
taskkill /f /im java.exe
call gradlew :app:assembleX86_64Release --no-daemon -Dorg.gradle.jvmargs="-Xmx1400m -Xms300m"
taskkill /f /im java.exe

字符串
它将杀死java每个完成的任务。为了保持我的pc性能

相关问题