linux bash实现自动重启程序
问题分析
linux经常遇到程序异常退出,特别是golang程序,退出后需要手动启动,非常麻烦,除了使用守护程序,还可以编写bash命令,然后用nohup监控.
代码实现
新建一个r.sh
#!/bin/bash
while :
do
COUNT=`ps -ef | grep ./weui6 |wc -l`
if [ "$COUNT" -gt 1 ];
then
echo "服务已存在"
else
echo "服务不存在,重启中..."
nohup ./weui6 > log.log 2>&1 &
fi
sleep 60
done
上边代码中,weui6就是启动程序本身,每60s检查一次程序是否异常退出.
然后用nohup监控
nohup ./r.sh > r.log 2>&1 &
如果需要关闭nohup
使用
ps -ef | grep r.sh
然后 kill pid就能关闭
- 原文作者:Yoby
- 原文链接:/2021/06/15/20210615-bash.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),关于内容请通过关于我方式联系作者!