我想杀死Windows中的特定Java进程,例如Linux(ps -aux
获取processid然后kill processid
来终止进程)。
答案 0 :(得分:33)
您可以使用jps
TASKKILL /PID %PID%
实用程序来查找Java进程的进程ID。输出将显示可执行JAR文件的名称或主类的名称。
然后使用Windows任务管理器终止该过程。如果要在命令行上执行此操作,请使用
{{1}}
答案 1 :(得分:13)
您还可以使用任务管理器找到java程序的PID。您启用 PID 和命令行列View -> Select Columns
,然后就可以找到正确的流程。
您的结果将是这样的:
答案 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)
ps -ef | grep java
pid
kill -9 [pid]