监控Java程序挂了自动重启

442 阅读1分钟

最近在服务器上启动了Jenkins服务,但是发现每隔一段时间看,这个服务就挂了,希望能有办法在服务挂的时候自动重启。

shell脚本

首先需要写一段shell脚本,监控你的程序是否在运行,如果没运行则启动这个程序,以Jenkins为例

while :
do
    ulimit -n 819200
    stillRunning=$(ps -ef |grep "jenkins.war" |grep -v "grep")

    if [ "$stillRunning" ] ; then
        sleep 1
    else
        echo "starting  jenkins process ...."
        java -jar /usr/share/java/jenkins.war --httpPort=8081 #启动应用,修改成自己的启动应用脚本或命令
        sleep 2
    fi
done

然后将这个脚本后台挂起执行

nohup sh jenkins.sh &

然后就会发现,即使kill -9,这个程序还会重新运行