Как найти идентификатор процесса, в котором запущено мое Java-приложение

Я знаю, что это довольно простой вопрос, но все же мне это не ясно. Когда я запускаю свой jar-файл в фоновом режиме в Windows, используя следующую команду, используя файл bat:

start javaw -jar myApp.jar

Он запускает приложение в фоновом режиме, но есть ли способ проверить, работает ли оно или как я могу его убить, если захочу.

В Linux мы можем сделать ps -ef| grep JarName, а затем вызвать команду kill. Как сделать то же самое в Windows. Команда tasklist показывает java.exe вместо имени jar.

С уважением,


person Manish    schedule 14.04.2021    source источник


Ответы (1)


Вы можете использовать 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
person DuncG    schedule 15.04.2021