linux检测程序挂掉自动重启

问题重现:同事写的一个服务程序老是自己挂掉,没有错误提示。同事不在也很无奈,找不到出错的原因。勉强写了一个自动重启的简单脚本维持一段时间。

思路:1 问题程序挂掉后,端口被释放,检测端口占用,挂掉重启。
           2 cron 定时执行检测脚本

1 准备脚本

#!/bin/sh

#切换到目录
cd /XXXX/XXX/XX/X
t=`date`

#查询端口占用
lsof -i:10086

# $? -ne 0 不存在 $? -eq 0存在 
if [ $? -ne 0 ]
then
python3 startup.py >> out.txt &
echo $t  ":************X restart.***************" >> daemonX.log

else
echo $t  ":X is normal." >> daemonX.log
fi

2 启动定时

        使用crontab命令(ubuntu已经安装了),crontab -e 进入编辑器,在最后一行添加定时任务,添加好保存,重启服务 service crond restart

0,15,30,45 * * * * sh /XXXX/XXX/XX/X.sh
# *占位  ,分割,,上面表示 每个小时中0分15分30分45分执行一次该命令

 

 

你可能感兴趣的:(linux)