如何找到 运行 我的 Java 应用程序的进程 ID

How to find the process id that is running my Java Application

我知道这是个很基本的问题,但我还是不太清楚。当我 运行 我的 jar 文件在后台 windows 使用下面的命令使用 bat 文件:

start javaw -jar myApp.jar

它在后台启动应用程序,但有什么方法可以检查它是否 运行 或者如果我想我将如何杀死它。

在Linux中我们可以做ps -ef| grep JarName然后我们可以调用killcommand.How在windows中做同样的事情。 tasklist 命令显示 java.exe 而不是 jar 名称。

此致,

您可以使用 jps 查看当前 Java 进程,然后将输出传递给 taskkill。使用要终止的进程的完整 package.Classname 调用此脚本:

rem Run as killpid.cmd package.Classname 
@echo off
jps -l |findstr %1 > %TEMP%\pid.txt

echo FOUND:
type %TEMP%\pid.txt

for /f %%i in (%TEMP%\pid.txt) do taskkill /pid %%i