问题描述
我知道这是一个非常基本的问题,但我仍然不清楚。当我使用以下命令在 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