zplove的gravatar头像
zplove 2018-11-09 11:19:34
项目管理shell脚本编写,直接启动jar

#!/bin/bash

#这里可替换为你自己的执行程序,其他代码无需更改

APP_NAME=demo1-0.0.1-SNAPSHOT.jar

JVM="-server -Xms512m -Xmx512m -XX:PermSize=64M -XX:MaxNewSize=128m -XX:MaxPermSize=128m -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled"

APPFILE_PATH="-Dspring.config.location=/usr/local/demo/config/application-demo1.properties"

#使用说明,用来提示输入参数

usage() {

echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"

exit 1

}

#检查程序是否在运行

is_exist(){

pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `

#如果不存在返回1,存在返回0

if [ -z "${pid}" ]; then

return 1

else

return 0

fi

}

#启动方法

start(){

is_exist

if [ $? -eq "0" ]; then

echo "${APP_NAME} is already running. pid=${pid} ."

else

nohup java $JVM -jar $APPFILE_PATH $APP_NAME > /dev/null 2>&1

fi

}

#停止方法

stop(){

is_exist

if [ $? -eq "0" ]; then

kill -9 $pid

else

echo "${APP_NAME} is not running"

fi

}

#输出运行状态

status(){

is_exist

if [ $? -eq "0" ]; then

echo "${APP_NAME} is running. Pid is ${pid}"

else

echo "${APP_NAME} is NOT running."

fi

}

#重启

restart(){

stop

start

}

#根据输入参数,选择执行对应方法,不输入则执行使用说明

case "$1" in

"start")

start

;;

"stop")

stop

;;

"status")

status

;;

"restart")

restart

;;

*)

usage

;;

esac

 

#################################################################

sh demo1.sh start 启动项目

sh demo1.sh stop 停止项目

sh demo1.sh restart重启项目

sh demo1.sh status项目状态

 

 

常见问题:运行就报错

原因是文本 有win换行

解决办法

cat -v admin-api.sh   检查

sed 's/\r//' admin-api.sh  > admin-api2.sh


打赏
最近浏览
lelelada  LV8 2019年12月2日
安安an  LV17 2018年11月28日
treeke  LV11 2018年11月14日
最代码官方  LV167 2018年11月10日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友