我要杀死在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程序将只杀死。 其余部分将不会受到影响。