@echo off :: 方式二:根据主类名称找到进程号,然后杀进程 setlocal set JPS=jps set MAIN_CLASS=com.vci.server.ServiceManagerMain for /f "tokens=1" %%a in ('%JPS% -l ^| findstr /i "%MAIN_CLASS%"') do ( set PID=%%a ) if defined PID ( echo Stopping %MAIN_CLASS% PID %PID%... :: taskkill /f /pid %PID% 代表强制杀进程。 :: 如果不希望强制杀进程,而是希望发送一个关闭信号给进程,让进程优雅退出(相当于 ctrl + c)。可将命令替换为 windows-kill -2 %PID% :: 优雅退出的方式需要依赖一个 windows-kill.exe 程序(可在github下载:https://github.com/ElyDotDev/windows-kill/releases/tag/1.1.4) taskkill /f /pid %PID% echo %MAIN_CLASS% is stopped. rem exit ) else ( echo %MAIN_CLASS% is not running. ) ::结束redis taskkill /f /im redis-server.exe endlocal