You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
3.0 KiB
Bash
123 lines
3.0 KiB
Bash
#!/bin/bash
|
|
# 指定本地 Java 路径
|
|
JDK_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java"
|
|
# 虚拟机的相关属性配置
|
|
## 内存大小
|
|
VM_OPTS="-Xms2048m -Xmx2048m"
|
|
# SpringBoot 的相关属性配置
|
|
SPB_OPTS="--spring.profiles.active=dev"
|
|
# 项目的绝对路径
|
|
APP_LOCATION="/home/app/web/dev-protocol-springcloud.jar"
|
|
# 显示的项目名称
|
|
APP_NAME="dev-protocol-springcloud"
|
|
# 获取进程ID
|
|
PID_CMD="ps -ef |grep $APP_NAME |grep -v grep |awk '{print \$2}'"
|
|
|
|
# 启动
|
|
start() {
|
|
echo "=============================start=============================="
|
|
PID=$(eval "$PID_CMD")
|
|
if [[ -n $PID ]]; then
|
|
echo "$APP_NAME is already running, PID is $PID"
|
|
else
|
|
# nohup $JDK_HOME "$VM_OPTS" -jar $APP_LOCATION $SPB_OPTS >/dev/null 2>\$1 &
|
|
nohup $JDK_HOME -jar $APP_LOCATION >/dev/null 2>\$1 &
|
|
echo "nohup $JDK_HOME -jar $APP_LOCATION >/dev/null 2>\$1 &"
|
|
PID=$(eval "$PID_CMD")
|
|
if [[ -n $PID ]]; then
|
|
echo "Start $APP_NAME successfully, PID is $PID"
|
|
else
|
|
echo "Failed to start $APP_NAME !!!"
|
|
fi
|
|
fi
|
|
echo "=============================start=============================="
|
|
}
|
|
|
|
# 停止
|
|
stop() {
|
|
echo "=============================stop=============================="
|
|
PID=$(eval "$PID_CMD")
|
|
if [[ -n $PID ]]; then
|
|
kill -15 "$PID"
|
|
sleep 2
|
|
PID=$(eval "$PID_CMD")
|
|
if [[ -n $PID ]]; then
|
|
echo "Stop $APP_NAME failed by kill -15 $PID, begin to kill -9 $PID"
|
|
kill -9 "$PID"
|
|
sleep 2
|
|
echo "Stop $APP_NAME successfully by kill -9 $PID"
|
|
else
|
|
echo "Stop $APP_NAME successfully by kill -15 $PID"
|
|
fi
|
|
else
|
|
echo "$APP_NAME is not running!!!"
|
|
fi
|
|
echo "=============================stop=============================="
|
|
}
|
|
|
|
# 重启
|
|
restart() {
|
|
echo "=============================restart=============================="
|
|
stop
|
|
start
|
|
echo "=============================restart=============================="
|
|
}
|
|
|
|
# 状态
|
|
status() {
|
|
echo "=============================status=============================="
|
|
PID=$(eval "$PID_CMD")
|
|
if [[ -n $PID ]]; then
|
|
echo "$APP_NAME is running, PID is $PID"
|
|
else
|
|
echo "$APP_NAME is not running!!!"
|
|
fi
|
|
echo "=============================status=============================="
|
|
}
|
|
|
|
# 输出当前工程中用的变量信息
|
|
info() {
|
|
echo "=============================info=============================="
|
|
echo "APP_LOCATION: $APP_LOCATION"
|
|
echo "APP_NAME: $APP_NAME"
|
|
echo "JDK_HOME: $JDK_HOME"
|
|
echo "VM_OPTS: $VM_OPTS"
|
|
echo "SPB_OPTS: $SPB_OPTS"
|
|
echo "=============================info=============================="
|
|
}
|
|
|
|
# 对脚本使用方式声明
|
|
help() {
|
|
echo "start: start server"
|
|
echo "stop: shutdown server"
|
|
echo "restart: restart server"
|
|
echo "status: display status of server"
|
|
echo "info: display info of server"
|
|
echo "help: help info"
|
|
}
|
|
|
|
|
|
case $1 in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
restart)
|
|
restart
|
|
;;
|
|
status)
|
|
status
|
|
;;
|
|
info)
|
|
info
|
|
;;
|
|
help)
|
|
help
|
|
;;
|
|
*)
|
|
help
|
|
;;
|
|
esac
|
|
exit $? |