杀死所有 Gradle 守护进程,无论版本如何?

2022-08-31 17:49:25

总结

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

用例

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

我要找什么

  1. 我希望有一个标志或我缺少的属性,我可以传递给gradle在一个简单的一行命令中执行此操作,但如果它足够简单,我会接受更多。
  2. 没有脚本(循环,if-else等)。
  3. 杀死所有Java进程是不可接受的。

指向毕业文档的有用链接

禁用守护程序

停止现有守护程序


答案 1

在 linux 下,你可以使用 pkill:

pkill -f '.*GradleDaemon.*'

在窗口下,您可以使用 wmic:

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

PS.为什么“无脚本”可能是最简单的解决方案?


答案 2

gradle 守护进程在 3 小时后没有消失;这可能是因为我在VirtualBox中以Linux Guest的身份运行。

因此,以下内容删除了所有 gradle 守护进程,但它可能是“不受欢迎的”,因为它可能过多...

(1) ./gradlew --stop 以确保所有守护进程都已停止

(2) 删除项目中 .gradle 文件夹中的所有文件夹/文件

(3) 删除 /home/username/ Linu 中的 .gradle 文件夹 (4) 重新启动

所有守护进程都消失了。下一个构建需要更长的时间,但值得,因为不喜欢每次启动gradle构建甚至清理时看到6个停止的守护进程。


推荐