1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@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