代码拉取完成,页面将自动刷新
#!/bin/bash
# java ENV
JAVA_HOME=/usr/local/jdk1.8.0_241
JRE_HOME=${JAVA_HOME}/jre
# APP
CUSTOM_CONFIG=0
# APP 路径
APP_HOME=/home/testdemo
# APP 名称
APP_NAME=$1
# APP 配置文件夹路径
APP_CONFIG=${APP_HOME}/config/
# APP 多环境
APP_PROFILES_ACTIVE=prod
# APP 关闭方式 graceful (等待)none (不等待)
APP_SHUTDOWN=graceful
# 关闭等待时间,单位秒
APP_SHUTDOWN_TIMIOUT=30
# 提示
usage() {
echo "Usage: sh boot [APP_NAME] [start|stop|restart|status]"
exit 1
}
# 检查程序是否在运行
is_exist() {
# 获取PID
PID=$(ps -ef | grep ${APP_NAME} | grep -v $0 | grep -v grep | awk '{print $2}')
# -z "${pid}"判断pid是否存在,如果不存在返回1,存在返回0
if [ -z "${PID}" ]; then
# 如果进程不存在返回 1
return 1
else
# 进程存在返回 0
return 0
fi
}
# 启动
start() {
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running, PID=${PID}"
else
if [ "1" -eq "${CUSTOM_CONFIG}" ]; then
# 如果进程不存在返回 1
nohup ${JRE_HOME}/bin/java -jar ${APP_HOME}/${APP_NAME} --spring.config.location=${APP_CONFIG} --spring.profiles.active=${APP_PROFILES_ACTIVE} >/dev/null 2>&1 &
else
# 进程存在返回 0
nohup ${JRE_HOME}/bin/java -jar ${APP_HOME}/${APP_NAME} >/dev/null 2>&1 &
fi
PID=$(echo $!)
echo "${APP_NAME} start success, PID=$!"
fi
}
# 停止
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -15 ${PID}
echo "${APP_NAME} process stop, PID=${PID}"
else
echo "There is not the process of ${APP_NAME}"
fi
}
# 重启进程函数
restart(){
stop
if [ "graceful" -eq "${APP_SHUTDOWN}" ]; then
echo -n "${APP_NAME} process is restarting"
for ((i=$APP_SHUTDOWN; i>0; i--))
do
echo -n ".."
sleep 1
done
else
echo "${APP_NAME} process is restarting"
fi
start
sleep 2
status
}
#
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running, PID=${PID}"
else
echo "There is not the process of ${APP_NAME}"
fi
}
case $2 in
"start")
start
;;
"stop")
stop
;;
"restart")
restart
;;
"status")
status
;;
*)
usage
;;
esac
exit 0
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。