问题描述:学校某个程序会时不时的断开,目前还未找到解决问题的方法,所以目前的解决办法是先用脚本隔一段时间去判断这个程序是否在运行,如果不在就重新运行脚本
新建一个autoShell.sh文件
大致思路就是查看后台程序看这个程序是否在后台运行,如果不在就重新运行程序,以java程序为例子,但是nohup会把打印的输出重定向,所以可以去掉nohup运行,或者查看其他办法把输出放到特定的位置,建议程序最好写日志记录,不推荐使用nohup
#!/bin/sh
if [ $(ps -ef | grep -c "程序名.jar") -lt 2 ]; then
$( nohup java -jar /程序文件路径/程序名.jar &) ;
else
echo "is running";
fi
*/10 * * * * /home/liguang/bashShell/startNatx.sh
设置定时任务 每10分钟去运行脚本
crontab -e
10 * * * * /bin/sh /脚本路径/autoShell.sh
crontab -l 查看定时任务
更多定时任务实例和corntab命令详解,可查看数据库自动备份实例
https://blog.csdn.net/qq_38432430/article/details/105454593