我有一个应用Gradle application插件的项目。我的问题是,即使底层进程终止,它也不会终止:如果我运行这个:
application
gradle run
字符串如果一个main只包含一个System.exit(0);,程序会终止,但Gradle不会。当底层Java程序终止时,如何强制Gradle进程终止?
main
System.exit(0);
Gradle
gradle --stop
bvjxkvbb1#
gradle run会在您的应用程序终止时终止。但是,如果您使用gradle daemon(在后续版本中默认启用),则守护程序仍然有效。最简单的解决方案是将--no-daemon传递到gradle CLI。您也可以在属性中配置它。
--no-daemon
92dk7w1h2#
从Linux手动杀死Java进程。Linux使用killall java,Windows使用taskkill /f /im java.exe以我的script.cmd为例
killall java
taskkill /f /im java.exe
@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性能
2条答案
按热度按时间bvjxkvbb1#
gradle run
会在您的应用程序终止时终止。但是,如果您使用gradle daemon(在后续版本中默认启用),则守护程序仍然有效。最简单的解决方案是将
--no-daemon
传递到gradle CLI。您也可以在属性中配置它。92dk7w1h2#
从Linux手动杀死Java进程。Linux使用
killall java
,Windows使用taskkill /f /im java.exe
以我的script.cmd为例
字符串
它将杀死java每个完成的任务。为了保持我的pc性能