首页 > 编程语言 > 详细

使用shell脚本启动jar包===测试环境可修改既能用的shell脚本

时间:2021-05-31 21:29:40      阅读:21      评论:0      收藏:0      [点我收藏+]

脚本测试环境内容如下:

#!/bin/bash
#JAVA_OPTIONS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.21.1.133"
para1=$1
JAVA_OPTIONS="${JAVA_OPTIONS} -Xms2048M -Xmx4048M"

APP_NAME=$1
BASE_PATH=/home/webadmin/web
_JAR_KEYWORDS=${BASE_PATH}/server/${APP_NAME}.jar
APPLICATION_FILE=${BASE_PATH}/conf/${APP_NAME}/application.properties
LOG_FILE=${BASE_PATH}/conf/${APP_NAME}/log4j2.xml

PID=$(ps aux | grep ${_JAR_KEYWORDS} | grep -v grep | awk ‘{print $2}‘ )


if [ ! -f "$APPLICATION_FILE" ];then
APPLICATION_FILE=" "
else
APPLICATION_FILE=--spring.config.location=${APPLICATION_FILE}
fi

if [ ! -f "$LOG_FILE" ];then
LOG_FILE=" "
else
LOG_FILE=--logging.config=${LOG_FILE}
fi

function check_if_process_is_running {
if [ "$PID" = "" ]; then
return 1
fi
ps -p $PID | grep "java"
return $?
}


case "$2" in
status)
if check_if_process_is_running
then
echo -e "\033[32m $APP_NAME is running \033[0m"
else
echo -e "\033[32m $APP_NAME not running \033[0m"
fi
;;
stop)
if ! check_if_process_is_running
then
echo -e "\033[32m $APP_NAME already stopped \033[0m"
exit 0
fi
kill -9 $PID
echo -e "\033[32m Waiting for process to stop \033[0m"
NOT_KILLED=1
for i in {1..20}; do
if check_if_process_is_running
then
echo -ne "\033[32m . \033[0m"
sleep 1
else
NOT_KILLED=0
fi
done
echo
if [ $NOT_KILLED = 1 ]
then
echo -e "\033[32m Cannot kill process \033[0m"
exit 1
fi
echo -e "\033[32m $APP_NAME already stopped \033[0m"
;;
start)
if [ "$PID" != "" ] && check_if_process_is_running
then
echo -e "\033[32m $APP_NAME already running \033[0m"
exit 1
fi
nohup java -jar $JAVA_OPTIONS -Dnacos.logging.default.config.enabled=false $_JAR_KEYWORDS $APPLICATION_FILE $LOG_FILE > ${BASE_PATH}/log/${APP_NAME}.log 2>&1 &
echo -ne "\033[32m Starting \033[0m"
for i in {1..5}; do
echo -ne "\033[32m.\033[0m"
sleep 1
done
if check_if_process_is_running
then
echo -e "\033[31m $APP_NAME fail \033[0m"
else
echo -e "\033[32m $APP_NAME started \033[0m"
fi
;;
run)
if [ "$PID" != "" ] && check_if_process_is_running
then
echo -e "\033[32m $APP_NAME already running \033[0m"
exit 1
fi
java -jar $JAVA_OPTIONS $_JAR_KEYWORDS $APPLICATION_FILE
;;
restart)
$0 $1 stop
if [ $? = 1 ]
then
exit 1
fi
$0 $1 start
;;
*)
echo "Usage: $0 {start|stop|restart|run|status}"
exit 1
esac

//此文件复制到shell文件,修改相应的引入本地变量即可 例如重新启动:./xx(脚本名称).sh  xx(jar包名称)  restart 

//测试环境可真实可用的,请尊重原创,有问题及时沟通谢谢。

使用shell脚本启动jar包===测试环境可修改既能用的shell脚本

原文:https://www.cnblogs.com/emmetyang/p/14832548.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!