如何在Java中查找并杀死正在运行的Win-Process?

时间:2020-03-05 18:58:32  来源:igfitidea点击:

我需要一种Java方式来查找正在运行的Win进程,从该进程我知道可执行文件的名称。我想看看它是否现在正在运行,如果找到它,我需要一种方法来终止该进程。

解决方案

回答

我们将不得不调用一些本机代码,因为恕我直言,没有库可以做到这一点。由于JNI繁琐且困难,因此我们可以尝试使用JNA(Java本机访问)。 https://jna.dev.java.net/

回答

我们可以使用命令行工具杀死诸如SysInternals PsKill和SysInternals PsList之类的进程。

我们也可以使用内置的tasklist.exe和taskkill.exe,但是它们仅在Windows XP Professional和更高版本(在Home Edition中不可用)上可用。

使用java.lang.Runtime.exec执行程序。

回答

我们可以使用命令行窗口工具tasklist和taskkill,并使用Runtime.exec()从Java调用它们。

回答

有一些API提供所需的功能:

https://github.com/kohsuke/winp

Windows进程库