专栏首页电光石火无人值守,检测程序正常运行,遇故障则重启服务

无人值守,检测程序正常运行,遇故障则重启服务

在某些情况下,如系统负载过大server无法申请到内存而挂掉、server底层发生段错误、server占用内存过大被内核Kill,或者被某些程序误杀。那server将无法提供服务,导致业务中断,公司收入出现损失。

有一个非常有效并且常用的方案是crontab重启监控。 原理是每1分钟执行一次shell脚本,检测server的进程是否存活,如果存在则跳过。如果发现主进程已经挂掉,则执行restart逻辑,先kill掉所有残留的子进程,然后重新启动Server。

如果在系统的crontab中加入:

* * * * * /data/script/check_server.sh

/data/script/check_server.sh:

#!/usr/bin/bash
cmd="/application/php/bin/php /data/www/filter/http_server.php"
count=`ps aux |grep "$cmd" | grep -v "grep" | wc -l`

echo $count
if [ $count -lt 1 ]; then
ps aux |grep "$cmd" | grep -v "grep"| awk '{print $2}'|xargs kill -9
sleep 2
$cmd
echo "restart "$(date +%Y-%m-%d_%H:%M:%S) >/data/log/restart.log
fi

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 无人值守,检测程序正常运行,遇故障则重启服务

    在某些情况下,如系统负载过大server无法申请到内存而挂掉、server底层发生段错误、server占用内存过大被内核Kill,或者被某些程序误杀。那se...

    似水的流年
  • 微信公众号链接小程序HTML代码

    似水的流年
  • ajax同步异步返回值

    ajax返回参数时必须用同步async: false,异步会出现undefined错误

    似水的流年
  • 无人值守,检测程序正常运行,遇故障则重启服务

    在某些情况下,如系统负载过大server无法申请到内存而挂掉、server底层发生段错误、server占用内存过大被内核Kill,或者被某些程序误杀。那se...

    似水的流年
  • [Python爬虫]通过分析胸罩销售记录 发现了惊人的秘密

    通过爬虫去爬取京东的用户评价,通过分析爬取的数据能得到很多结果,比如,哪一种颜色的胸罩最受女性欢迎,以及中国女性的平均size(仅供参考哦~)

    小小詹同学
  • [Python数据可视化]通过分析胸罩销售记录 发现了惊人的秘密

    首先我们需要在搜索页面获取商品的id,为下面爬取用户评价提供productId。key_word为搜索的关键字,这里就是【胸罩】

    龙哥
  • 小程序实现图片上传,预览以及图片base64位处理

    最近一段时间在做小程序项目,第一期功也完工了。需要好好总结一下经验,把项目中遇到的问题好好总结一下,遇到的问题,踩过的坑。今天写一个小程序实现图片上传,预览,以...

    小周sri的码农
  • 关于相机拍照获取图片onActivityResult返回data 为null的问题

    此时发现 代码执行到 if(data==null)就结束了,问题为为什么拍摄相机的回调图片数据data为null

    听着music睡
  • web端引入微信(vue项目)

    用户4344670
  • Java 泛型详解

    泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用。本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理,以及让人苦恼的类...

    Java团长

扫码关注云+社区

领取腾讯云代金券