69 lines
1.7 KiB
Batchfile
69 lines
1.7 KiB
Batchfile
rem 使用者应根据自身平台编码自行转换 防止乱码 例如 win使用gbk编码
|
||
@echo off
|
||
|
||
rem jar平级目录
|
||
set AppName=zhi-admin.jar
|
||
|
||
rem JVM参数
|
||
set JVM_OPTS="-Dname=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
|
||
|
||
|
||
ECHO.
|
||
ECHO. [1] 启动%AppName%
|
||
ECHO. [2] 关闭%AppName%
|
||
ECHO. [3] 重启%AppName%
|
||
ECHO. [4] 启动状态 %AppName%
|
||
ECHO. [5] 退 出
|
||
ECHO.
|
||
|
||
ECHO.请输入选择项目的序号:
|
||
set /p ID=
|
||
IF "%id%"=="1" GOTO start
|
||
IF "%id%"=="2" GOTO stop
|
||
IF "%id%"=="3" GOTO restart
|
||
IF "%id%"=="4" GOTO status
|
||
IF "%id%"=="5" EXIT
|
||
PAUSE
|
||
:start
|
||
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do (
|
||
set pid=%%a
|
||
set image_name=%%b
|
||
)
|
||
if defined pid (
|
||
echo %%is running
|
||
PAUSE
|
||
)
|
||
|
||
start javaw %JVM_OPTS% -jar %AppName%
|
||
|
||
echo starting……
|
||
echo Start %AppName% success...
|
||
goto:eof
|
||
|
||
rem 函数stop通过jps命令查找pid并结束进程
|
||
:stop
|
||
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do (
|
||
set pid=%%a
|
||
set image_name=%%b
|
||
)
|
||
if not defined pid (echo process %AppName% does not exists) else (
|
||
echo prepare to kill %image_name%
|
||
echo start kill %pid% ...
|
||
rem 根据进程ID,kill进程
|
||
taskkill /f /pid %pid%
|
||
)
|
||
goto:eof
|
||
:restart
|
||
call :stop
|
||
call :start
|
||
goto:eof
|
||
:status
|
||
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do (
|
||
set pid=%%a
|
||
set image_name=%%b
|
||
)
|
||
if not defined pid (echo process %AppName% is dead ) else (
|
||
echo %image_name% is running
|
||
)
|
||
goto:eof
|