Linux shell脚本检测jar包,挂掉时自动重启服务

现状:目前放在测试环境的服务太多,内存占用高导致jar包不稳定,运行几十天后会自动挂掉,且无日志提示无法跟踪错误。

首先用命令创建一个sh脚本。

touch restart.sh
vim restart.sh

填入如下,根据需求自己修改对应部分。

#!/bin/bash
source /etc/profile
while true
do
ps -ef | grep "imp_portal_admin_xjf.jar" | grep -v "grep"
if [ "$?" -eq 1 ];then
nohup java -jar imp_portal_admin_xjf.jar &
fi
sleep 60
done

上述shell脚本中,功能为:每60s检查这个jar包,若挂掉,重新用nohup命令再运行。

接下来给脚本授权。

chmod 777 restart.sh

最后将shell脚本在后台运行起来。

nohup ./restart.sh > restart.log &

测试:将jar包kill掉,一定时间后查看restart.log中的日志,有运行jar包服务的相关日志则成功。

你可能感兴趣的:(jar,linux,java)