杀死所有Gradle守护程序无论版本?

llew8vvj  于 2023-04-21  发布在  其他
关注(0)|答案(4)|浏览(179)

摘要

我想知道如何杀死机器上运行的每一个gradle守护程序和进程,无论gradle的版本或守护程序的版本如何,但“--kill”或“--stop”命令只会停止那些与相同版本的gradle匹配的进程。

用例

我的CI构建盒将有几个不同版本的gradle守护进程运行(因为我是一个使用 Package 器执行构建的好孩子)。偶尔我会发现缓存或增量构建的问题,作为预防措施,我喜欢杀死守护进程。我的开发盒也是如此,尽管冲突更常见于我使用的VCS或IDE。

我在寻找什么

1.我希望有一个标志或属性,我错过了,我可以通过一个简单的一行命令来完成这一点,但如果它足够简单,我会接受更多。
1.没有脚本(循环,if-else等)。
1.杀死所有的java进程是**不可接受的。

gradle文档的有用链接

禁用守护程序
停止现有守护程序

mqxuamgl

mqxuamgl1#

在Linux下,你可以使用pkill:

pkill -f '.*GradleDaemon.*'

在Windows下,您可以使用wmic:

WMIC PROCESS where "Name like 'java%' AND CommandLine like '%GradleDaemon%'" Call Terminate

为什么“没有脚本”,当它可能是最简单的解决方案?

2skhul33

2skhul332#

Gradle守护进程在3小时后没有消失;这可能是因为我在VirtualBox中作为Linux Guest运行。
因此,以下内容删除了所有gradle守护进程,但它可能会“皱眉”,因为它可能会过度...
1../gradlew --stop确保所有守护进程都已停止
1.删除项目中.gradle文件夹中的所有文件夹/文件
1.删除/home/username/ Linu中的.gradle文件夹
1.重新启动
所有的守护进程都消失了。下一次构建需要更长的时间,但值得一试,因为不喜欢每次启动gradle构建甚至清理时都看到6个停止的守护进程。

lrpiutwd

lrpiutwd3#

gradle --status命令将显示每个守护进程的进程ID,然后您可以使用操作系统杀死这些进程。
我假设这是跨平台功能,但这是Windows上的输出:

PID STATUS   INFO
10276 IDLE     5.4.1
14068 IDLE     5.4.1

这比对系统上运行的每个java.exe进程玩打地鼠好一点。尽管如果gradle内置了一个可以终止所有正在运行的gradle守护进程的命令,那就更好了。

vx6bjr1n

vx6bjr1n4#

我有一个类似的问题,我做了这个:
1.转到C:\Users\“Username”.gradle\daemon
1.每个版本的gradle都有一个文件夹
1.删除实际运行版本的文件夹使用--status检查

相关问题