springboot之jar运行脚本

  一、现在的工程都将就独立和简单了,我们在使用springboot做开发或者其他框架做开发时,在linux上面执行的时候。总会写一下脚本,目的当然是为了更加好的运行程序。不然每次都手动输入一下命令,来调试环境。调整端口等。个人感觉特别麻烦,那么问题来了。为了更好的让项目运行并且看到其中的状态,所以一个好的脚本是非常重要的。

  二、这里个人记录一下自己常使用的jar启动脚本

  

#! /bin/sh
projectName="test"

#提醒功能
help() {
    echo "help: sh ${projectName}.sh [start|stop|restart]"
    exit 1
}

#判断项目是否运行,并且返回对应数字(0 为未启动 1为启动)
is_exist(){
    #获取pid的方式,个人喜欢咋写就咋写
    pid=`ps -ef|grep ${projectName}.jar|grep -v grep|awk '{print $2}'`
    if [ -z "${pid}" ]
    then
        return 0
    else
        return 1
    fi
}

#开始运行项目
start(){
    is_exist
    #如果正在运行直接提示
    if [ $? -eq 1 ]
    then
        echo "${projectName} is running"
        exit 0;
    else
        #没有运行则运行项目
        echo "start running ${projectName} ..."
        currentPath=`pwd`
        startPath=$(cd `dirname $0`;pwd)
        #这里写的比较简单,实际生产环境,需要配置参数
        cd ${startPath}
        nohup java -jar -server ${projectName}.jar > ${projectName}/run.log 2>&1 &
        cd ${currentPath}
    fi
}

#停止项目
stop(){
    echo "stop $projectName ..."
    is_exist
    if [ $? -eq 1 ]
    then
        #通过pid关闭
        kill -9 $pid
        echo  "[ok]"
    else
        echo  "[ok]"
    fi
}

//选择运行方式
case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    stop
    start
    ;;
*)
    help
    ;;
esac

  说明:if中的[]必须加空格

posted @ 2019-03-15 14:35  小不点丶  阅读(558)  评论(0编辑  收藏  举报