linux下springboot项目守护进程编写
本篇主要是讲当你的项目因各种原因导挂掉了,怎样检测并重启它。
直接上代码:
#!/bin/bash
jarname='eureka'
pid=`ps aux | grep $jarname | grep -v grep | grep java | awk '{print $2}'`
if [[ "$pid" == "" ]]; then
echo "项目重新启动" >/home/program/eureka/run.log &
nohup java -jar /home/program/eureka/$jarname.jar -server -Xms512m -Xmx1024m -Xss256k >> /home/program/eureka/run.log 2>&1 &
else
echo "项目已经启动" >/home/program/eureka/run.log &
fi
我这里以一个名叫eureka.jar的项目做示例:
#!/bin/bash
加载bash环境
pid=`ps aux | grep $jarname | grep -v grep | grep java | awk '{print $2}'`
查询当前项目的进程号(如果挂了是空字符)
if [[ "$pid" == "" ]]; then
判断是不是空字符 是的话就是挂了
nohup java -jar /home/program/eureka/$jarname.jar -server -Xms512m -Xmx1024m -Xss256k >> /home/program/eureka/run.log 2>&1 &
重启项目
注意点:
你的项目名称可能涉及到系统中其他进程,如果是这样即使你的项目挂了,pid也不是空字符。所以测试的时候记得把pid输出看一下,如果是这种情况记得把项目jar包改个名。