如何在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进程库