随笔 - 7,  文章 - 0,  评论 - 0,  阅读 - 17449

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文件中的相关可变配置需要自行配置!!!

 

posted on   阿里哈撒哟  阅读(670)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示