-->

如何找到在Windows上运行的Java进程的进程ID? 而如何独自杀死进程?(How to f

2019-08-01 19:13发布

我要杀死在Windows中特定的Java程序,就像在Linux操作系统( ps -aux得到的ProcessID,然后kill processid杀死进程)。

Answer 1:

您可以使用jps是效用包含在JRE找到一个Java进程的进程ID。 输出将显示你的可执行的JAR文件的名称或主类的名称。

然后使用Windows任务管理器终止进程。 如果你想这样做在命令行上,用

TASKKILL /PID %PID%


Answer 2:

您还可以找到与任务管理器中的Java程序的PID。 启用PID命令行View -> Select Columns ,并就能够找到合适的过程。

你的结果会是这样的:



Answer 3:

设置你的JDK使用的路径后JPS 。然后你可以通过eaisly任务管理器杀了它
JPS会给你所有Java进程



Answer 4:

这将工作,即使有罐子的多个实例运行

wmic Path win32_process Where "CommandLine Like '%yourname.jar%'" Call Terminate


Answer 5:

我找到了解决办法很简单。 使用Windows的WMIC与Java的运行时查找和终止进程。

第1部分:你需要把某种标识符到您的应用程序的启动命令行。 如类似:

String id = "com.domain.app";

第2部分:当你运行你的应用程序,确保包括字符串。 比方说,你从Java内部启动它,请执行以下操作:

Runtime.getRuntime().exec(
   "C:\...\javaw.exe -cp ... -Dwhatever=" + id + " com.domain.app.Main"
);

第3部分:杀死进程,使用Window的WMIC。 只要确保你的应用程序开始从上面包含您的ID:

Runtime.getRuntime().exec(
  "wmic process Where \"CommandLine Like '%" + id + "%'\" Call Terminate"
);


Answer 6:

在Windows XP及更高版本,有一个命令: 任务列表 ,列出所有进程的ID。

杀死在Windows的过程,请参阅:

真是笑死进程在Windows | 堆栈溢出

您可以在Java中执行操作系统的命令:

Runtime.getRuntime().exec("your command here");

如果你需要处理命令的输出,见例如: 在Java中使用的Runtime.exec()



Answer 7:

这是特定于Windows。 我正面临同样的问题,我要杀死使用的taskkill一个特定的Java程序。 当我运行Java程序,任务列表中显示与设置为java.exe的图片名称相同的程序。 但杀死使用它taskkill /F java.exe将停止比不要求意一个其他所有其他Java应用程序。

于是我运行使用相同的java程序:

start "MyProgramName" java java-program..

从这里开始命令将打开一个新窗口,并与窗口的标题设置为MyProgramName运行Java程序。

我们杀死这个Java程序使用下面的命令的taskkill:

taskkill /fi "MyProgramName"

Java程序将只杀死。 其余部分将不会受到影响。



文章来源: How to find the process id of a running Java process on Windows? And how to kill the process alone?