linux springboot 启动脚本

简单粗暴的脚本

#! /bin/bash
# 获取进程号
pid=`ps aux | grep "java -jar" | grep -v "grep" |awk '{print $2}'`
echo ${pid}

if [[ $pid -gt 0 ]];then
    `kill -9 $pid`
fi

`nohup java -jar boot-nginx.jar > boot-nginx.out  2>&1 &`

 

更加全面的重新启动服务

#! /bin/bash
# 获取进程号
# grep -v 是反向查找的意思,比如 grep -v grep 就是查找不含有 grep 字段的行
pid_cmd="ps -ef |grep java |grep -v grep |awk '{print \$2}'"
pid=$(eval $pid_cmd)

# 打印进程号
echo $pid
# 判断是否存在进程号
if [[ $pid -gt 0 ]];then
    #  可以理解为操作系统发送一个通知告诉应用主动关闭.
    kill -15 ${pid}
    echo '优雅关闭中 等待5秒钟'
    sleep 5
    pid=$(eval ${pid_cmd})
    if [[ $pid -gt 0 ]];then
        # 是操作系统从内核级别强制杀死一个进程.
        echo '优雅关闭无效,强制关闭中'
        kill -9 $pid
    fi
fi

echo '启动中...'
`nohup java -jar xxx.jar > xxx.out  2>&1 &`

 

参考文章

posted @ 2023-07-28 17:17  译林  阅读(243)  评论(0编辑  收藏  举报