| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | @echo offrem jar平级目录set AppName=park-application.jarset appPort=28080set JarPath=./out/park-application.jarset Env=testrem JVM参数set JVM_OPTS="-Dapp.name=%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.  [6] 关闭Nginx	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%"=="6" GOTO stopNginx	IF "%id%"=="7" GOTO startNginx	IF "%id%"=="5" EXITPAUSE:stopNginx   taskkill /f /fi "imagename eq nginx.exe"goto:eof:start    set pid=    for /f "usebackq tokens=2,5" %%a in (`netstat -ano ^| findstr  %appPort%`) do (		set pid=%%b		set image_name=%%a	)   if  defined pid (        echo %%pid is running        exit /b   )echo javaw %JVM_OPTS% -jar %JarPath% --spring.profiles.active=%Env%start javaw %JVM_OPTS% -jar %JarPath% --spring.profiles.active=%Env%echo  starting……echo  Start %AppName% success...goto:eofrem 函数stop通过jps命令查找pid并结束进程:stop    set pid=	for /f "usebackq tokens=2,5" %%a in (`netstat -ano ^| findstr  %appPort%`) do (		set pid=%%b		set image_name=%%a	)	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 /t /pid %pid%	)goto:eof:restart    call :stop    call :startgoto:eof:status	for /f "usebackq tokens=2,5" %%a in (`netstat -ano ^| findstr  %appPort%`) do (		set pid=%%b		set image_name=%%a	)	if not defined pid (echo process %AppName% is dead ) else (		echo %image_name% is running	)goto:eof
 |