CMVR-IOT/ry.bat

62 lines
1.3 KiB
Batchfile
Raw Normal View History

2026-07-28 16:33:32 +08:00
@echo off
setlocal EnableDelayedExpansion
set "AppName=cmvr-iot-admin.jar"
set "AppJar=cmvr-iot-admin\target\cmvr-iot-admin.jar"
if exist "%AppName%" set "AppJar=%AppName%"
set "JVM_OPTS=-Dname=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC"
if not exist "%AppJar%" (
echo Missing %AppJar%. Run mvn clean package -DskipTests first.
exit /b 1
)
echo.
echo [1] Start %AppName%
echo [2] Stop %AppName%
echo [3] Restart %AppName%
echo [4] Status %AppName%
echo [5] Exit
echo.
set /p ID=Select an action:
if "%ID%"=="1" goto start
if "%ID%"=="2" goto stop
if "%ID%"=="3" goto restart
if "%ID%"=="4" goto status
if "%ID%"=="5" exit /b 0
exit /b 1
:findPid
set "pid="
for /f "tokens=1" %%a in ('jps -lv ^| findstr /C:"%AppName%"') do set "pid=%%a"
exit /b 0
:start
call :findPid
if defined pid (
echo %AppName% is already running with PID !pid!.
exit /b 0
)
start "cmvr-iot" javaw %JVM_OPTS% -jar "%AppJar%"
echo Started %AppName%.
exit /b 0
:stop
call :findPid
if not defined pid (
echo %AppName% is not running.
exit /b 0
)
taskkill /f /pid !pid!
exit /b %ERRORLEVEL%
:restart
call :stop
call :start
exit /b 0
:status
call :findPid
if defined pid (echo %AppName% is running with PID !pid!.) else (echo %AppName% is not running.)
exit /b 0