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

问题描述

我知道这是一个非常基本的问题,但我仍然不清楚。当我使用以下命令在 Windows 中的后台运行 jar 文件时:

start javaw -jar myApp.jar

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

在 Linux 中我们可以执行 ps -ef| grep JarName 然后我们可以调用 kill 命令。如何在 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