|
@@ -0,0 +1,123 @@
|
|
|
+APP_NAME=gov_zhuhai_isolation.jar # 应用名称
|
|
|
+APP_PORT=8015 #应用端口
|
|
|
+
|
|
|
+usage() {
|
|
|
+ echo "case: sh run.sh [start|stop|restart|status]"
|
|
|
+ echo "请类似这样执行 ./*.sh start or ./*sh restart"
|
|
|
+ exit 1
|
|
|
+}
|
|
|
+
|
|
|
+checkEnv(){
|
|
|
+ if [ -z "${APP_NAME}" ] || [ -z "${APP_DEBUG}" ]; then #判断pid是否为空
|
|
|
+ if [[ $1 = 'pro' ]]; then
|
|
|
+ echo "pro start"
|
|
|
+ #APP_NAME=changeing-prod.jar
|
|
|
+ #APP_DEBUG=5526
|
|
|
+ elif [[ $1 = 'sit' ]] ; then
|
|
|
+ echo "sit start"
|
|
|
+ #APP_NAME=changeing-uat.jar
|
|
|
+ #APP_DEBUG=5520
|
|
|
+ elif [[ $1 = 'uat' ]] ; then
|
|
|
+ echo "uat start"
|
|
|
+ #APP_NAME=changeing-devuat.jar
|
|
|
+ #APP_DEBUG=5526
|
|
|
+ else
|
|
|
+ echo "没有设置环境"
|
|
|
+ fi
|
|
|
+ # else
|
|
|
+ # echo "已经设置-${APP_NAME}-${APP_DEBUG}"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+# 判断当前服务是否已经启动的函数
|
|
|
+is_exist(){
|
|
|
+ checkEnv $1
|
|
|
+ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #根据ps 命令查询当前服务的进程号 赋值给pid"
|
|
|
+ if [ -z "${pid}" ]; then #判断pid是否为空
|
|
|
+ echo "pid 不存在"
|
|
|
+ return 1
|
|
|
+ else
|
|
|
+ echo "pid 存在"
|
|
|
+ return 0
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+start(){
|
|
|
+ checkEnv $1
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号打印出来
|
|
|
+ echo "${APP_NAME} running. pid=${pid}"
|
|
|
+ else
|
|
|
+ nohup java -jar -Xmx3072M -Xms512M ./$APP_NAME --spring.profiles.active=$1 --server.port=$APP_PORT > logs.log 2>error.log & # 说明pid为空
|
|
|
+ # 执行java -jar 命令启动服务
|
|
|
+ echo "${APP_NAME} started启动"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+stop(){
|
|
|
+ echo "执行 stop 方法"
|
|
|
+ checkEnv $1
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号杀死
|
|
|
+ kill -9 $pid
|
|
|
+ echo "${pid} stopped-停止"
|
|
|
+ else
|
|
|
+ echo "${APP_NAME} 没有运行"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+status(){
|
|
|
+ echo "执行 status 方法"
|
|
|
+ checkEnv $1
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then
|
|
|
+ echo "${APP_NAME} running-启动. Pid is ${pid}"
|
|
|
+ else
|
|
|
+ echo "${APP_NAME} 没有运行"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+# 重启命令其实就是先执行关闭命令 再执行重启命令
|
|
|
+restart(){
|
|
|
+ echo "执行 restart 方法"
|
|
|
+ checkEnv $1
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号杀死
|
|
|
+ kill -9 $pid
|
|
|
+ echo "${pid} stopped-停止"
|
|
|
+ else
|
|
|
+ echo "${APP_NAME} 没有运行"
|
|
|
+ fi
|
|
|
+ sleep 5
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号打印出来
|
|
|
+ echo "${APP_NAME} running. pid=${pid}"
|
|
|
+ else
|
|
|
+ nohup java -jar -Xmx3072M -Xms512M ./$APP_NAME --spring.profiles.active=$1 --server.port=$APP_PORT > logs.log 2>error.log & # 说明pid为空
|
|
|
+ echo "${APP_NAME} started启动"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+# 这里的$1 取的是当前输入命令 的第二个参数 ./start.sh start
|
|
|
+case "$1" in
|
|
|
+ "start")
|
|
|
+ start $2
|
|
|
+ ;;
|
|
|
+ "stop")
|
|
|
+ stop $2
|
|
|
+ ;;
|
|
|
+ "status")
|
|
|
+ status $2
|
|
|
+ ;;
|
|
|
+ "restart")
|
|
|
+ restart $2
|
|
|
+ ;;
|
|
|
+ *)
|
|
|
+ usage
|
|
|
+ ;;
|
|
|
+esac
|