windows上后台启动jar包脚本记录
@echo off
if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment. & EXIT /B 1
setlocal enabledelayedexpansion
set BASE_DIR=%~dp0
set APP_NAME=bigdata-ct02-sap-auto-push
set APP_VERSION=1.0
set SERVICEAPP_NAME=%APP_NAME%-%APP_VERSION%.jar
set SERVICEAPP_DEPHOME=%BASE_DIR%
set SERVICEAPP_LOGHOME=%SERVICEAPP_DEPHOME%logs
set RUN_CMD="%JAVA_HOME%\bin\java.exe"
set CONSOLE_FILE="%SERVICEAPP_LOGHOME%\console.log"
IF NOT EXIST "%SERVICEAPP_LOGHOME%" (
MKDIR "%SERVICEAPP_LOGHOME%"
)
if "%1" == "stop" goto stop
if "%1" == "status" goto status
if not "%1" == "start" if not "%1" == "restart" (
echo "Usage: %0 {start|stop|restart}"
goto end
)
for /f "tokens=16" %%i in ('ipconfig ^|find /i "ipv4"') do (
set ip=%%i
goto findIPend
)
:findIPend
rem JVM CONFIG
set JAVA_OPTS=-Xms256m -Xmx2048m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -Xss1m -Xmn1024m -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC -XX:ParallelGCThreads=2 -XX:SurvivorRatio=4 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:"%SERVICEAPP_LOGHOME%\gc.log" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="%SERVICEAPP_LOGHOME%\dump.logs"
if "%1" == "start" goto start
if "%1" == "restart" goto stop
:status
for /f "tokens=1" %%i in ('jps -m ^| find /I "%APP_NAME%"') do (
echo "%SERVICEAPP_NAME% is runing"
goto end
)
echo "%SERVICEAPP_NAME% is not runing"
goto end
:stop
for /f "tokens=1" %%i in ('jps -m ^| find /I "%APP_NAME%"') do (
goto doStop
)
echo "WARN:%SERVICEAPP_NAME% is not runing"
if "%1" == "restart" goto start
goto end
:doStop
echo "Stoping %SERVICEAPP_NAME%..."
for /f "tokens=1" %%i in ('jps -m ^| find "%APP_NAME%"') do ( taskkill /F /PID %%i )
if "%1" == "restart" goto start
goto end
:start
for /f "tokens=1" %%i in ('jps -m ^| find /I "%APP_NAME%"') do (
echo "WARN:%SERVICEAPP_NAME% already started! Ignoring startup request."
goto end
)
echo "Starting %SERVICEAPP_NAME% ..."
start javaw %JAVA_OPTS% -Dfile.encoding=UTF-8 -Dspring.profiles.active=pro -jar "%SERVICEAPP_DEPHOME%%SERVICEAPP_NAME%" > logs/log.txt &
goto end
:end