如何在Windows上查找正在运行的Java进程的进程ID?以及如何单独杀死这个过程?

时间:2012-10-23 07:59:12

标签: java windows process-management

我想杀死Windows中的特定Java进程,例如Linux(ps -aux获取processid然后kill processid来终止进程)。

8 个答案:

答案 0 :(得分:33)

您可以使用jps TASKKILL /PID %PID% 实用程序来查找Java进程的进程ID。输出将显示可执行JAR文件的名称或主类的名称。

然后使用Windows任务管理器终止该过程。如果要在命令行上执行此操作,请使用

{{1}}

答案 1 :(得分:13)

您还可以使用任务管理器找到java程序的PID。您启用 PID 命令行View -> Select Columns,然后就可以找到正确的流程。

您的结果将是这样的: enter image description here

答案 2 :(得分:9)

设置jdk的路径后使用JPS。然后你可以通过任务管理器轻松杀死它JPS将为你提供所有java进程

答案 3 :(得分:6)

即使有多个jar正在运行

,这也会有效
<form action="reg.jsp"  name="myform" method="post" onsubmit="return validateForm()" >

答案 4 :(得分:2)

我发现的解决方案非常简单。使用Window的WMIC&amp; Java的运行时定位&amp;杀死这个过程。

第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"
);

答案 5 :(得分:1)

在Windows XP及更高版本中,有一个命令: tasklist ,它列出了所有进程ID。

要在Windows中终止进程,请参阅:

Really killing a process in Windows | Stack Overflow

您可以通过以下方式在Java中执行OS命令:

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

如果您需要处理命令的输出,请参阅示例:using Runtime.exec() in Java

答案 6 :(得分:0)

这是Windows特有的。 我遇到了同样的问题,我必须使用taskkill杀死一个特定的java程序。当我运行java程序时,tasklist显示了相同的程序,其Image名称设置为java.exe。 但是使用taskkill /F java.exe将其删除将会停止所有其他java应用程序而不是非必需的应用程序。

所以我使用:

运行相同的java程序
start "MyProgramName" java java-program..

这里start命令将打开一个新窗口并运行java程序,窗口标题设置为MyProgramName。

现在要杀死这个java程序,请使用以下taskkill命令:

taskkill /fi "MyProgramName"

您的Java程序只会被杀死。休息将不受影响。

答案 7 :(得分:0)

  1. 打开Git Bash
  2. 键入ps -ef | grep java
  3. 找到运行jdk的pid
  4. kill -9 [pid]