首页 > 系统相关 >Linux手动启动、关闭、重启jar包相关shell脚本

Linux手动启动、关闭、重启jar包相关shell脚本

时间:2023-02-11 14:11:19浏览次数:45  
标签:shell JAVA NAME APP jar XX Linux grep OPTS

1、启动文件start.sh

#!/bin/sh
#
#
#
APP_NAME=$(basename $(dirname "$PWD"))

JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true "
JAVA_DEBUG_OPTS=""
if [ "$1" = "debug" ]; then
    JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8778,server=y,suspend=n "
fi
JAVA_JMX_OPTS=""
if [ "$1" = "jmx" ]; then
    JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
fi
JAVA_MEM_OPTS=""
BITS=`java -version 2>&1 | grep -i 64-bit`
if [ -n "$BITS" ]; then
    JAVA_MEM_OPTS=" -server -Xmx2048m -Xms2048m -Xmn256m -XX:PermSize=256m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
else
    JAVA_MEM_OPTS=" -server -Xms1024m -Xmx1024 -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "
fi

nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -jar ../$APP_NAME.jar --spring.profiles.active=hkprod > /dev/null 2>&1 &
echo Start Success!
PIDS=`ps -f | grep java | grep "$APP_NAME" | awk '{print $2}'`
echo "PID: $PIDS"

 

2、停止文件stop.sh

#!/bin/sh
#
#
#
APP_NAME=$(basename $(dirname "$PWD"))

tpid1=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
echo tpid1-$tpid1
    if [[ $tpid1 ]]; then
    echo 'Stop Process...'
    kill -15 $tpid1
fi
sleep 5
tpid2=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
    echo tpid2-$tpid2
if [[ $tpid2 ]]; then
    echo 'Kill Process!'
    kill -9 $tpid2
else
    echo 'Stop Success!'
fi

 

3、重启文件restart.sh

#!/bin/sh
SHELL_FOLDER=$(dirname $(readlink -f "$0"))

APP_NAME=$(basename $(dirname "$SHELL_FOLDER"))
tpid1=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
echo tpid1-$tpid1
    if [[ $tpid1 ]]; then
    echo 'Stop Process...' $APP_NAME
    kill -15 $tpid1
fi
sleep 5
tpid2=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
    echo tpid2-$tpid2
if [[ $tpid2 ]]; then
    echo 'Kill Process!' $APP_NAME
    kill -9 $tpid2
else
    echo 'Stop Success!' $APP_NAME
fi
JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true "
JAVA_DEBUG_OPTS=""
if [ "$1" = "debug" ]; then
    JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8778,server=y,suspend=n "
fi
JAVA_JMX_OPTS=""
if [ "$1" = "jmx" ]; then
    JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
fi
JAVA_MEM_OPTS=""
BITS=`java -version 2>&1 | grep -i 64-bit`
if [ -n "$BITS" ]; then
    JAVA_MEM_OPTS=" -server -Xmx2048m -Xms2048m -Xmn256m -XX:PermSize=256m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
else
    JAVA_MEM_OPTS=" -server -Xms1024m -Xmx1024 -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "
fi
SHELL_FOLDER=$(dirname $(readlink -f "$0"))
APP_NAME=$(basename $(dirname "$SHELL_FOLDER"))
project_name=$(dirname $SHELL_FOLDER)
#echo $project_name/$APP_NAME.jar
nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -jar $project_name/$APP_NAME.jar --spring.profiles.active=hkprod > /dev/null 2>&1 &

echo Start Success! $APP_NAME
PIDS=`ps -f | grep java | grep "$APP_NAME" | awk '{print $2}'`
echo "PID: $PIDS"

 

shell文件中的相关可变配置需要自行配置!!!

 

标签:shell,JAVA,NAME,APP,jar,XX,Linux,grep,OPTS
From: https://www.cnblogs.com/meiya/p/17111369.html

相关文章