• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    关于linux服务器进程监控及自动重启的方法介绍
    POST TIME:2021-10-20 10:40

      本周开始,新手游进行删档封测阶段,前两天表现还好,今天更新后出现几次宕机行为,比较影响玩家的测试和体验,我们的服务器管理系统尚未完善,为了晚上能够预防宕机造成损失,先用一种简单的方案临时顶替一下。

      实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则处理我们预设的脚本。

      首先我们要向crontab加入一个新任务。

      # crontab -e:进入编辑状态,其实就是使用vi编辑。

      */1 * * * * sh /root/monitor.sh

      我这里只是简单的设置每分钟调用一个shell脚本monitor.sh。这里可以配置的更强大,大家可以去搜索一下crontab的教程,网上有很多这类的教程。

      这里需要注意的是,很多教程配置command的时候直接使用/root/monitor.sh,我设置的时候发现这样配置不会执行shell脚本,前面加上sh后就能执行了。

      然后我们开始写monitor.sh这个shell脚本。

      #! /bin/sh    proc_name="WorldFrame_d"       

       #进程名  proc_num()                    

       #查询进程数

      {   

      num=`ps -ef | grep $proc_name | grep -v grep | wc -l`   

      return $num}proc_num  number=$?                      

      #获取进程数量

      if [ $number -eq 0 ]           

      #如果进程数量为0then                           

       #重新启动服务器,或者扩展其它内容。   

      cd /longwen/server/sbin/linux; ./WorldFrame_d -c 1fi

      我这个脚本,只是简单的检测了进程是否存在,不存在就自动重启服务器。

      这里其实也可以扩展一下,比如对日志文件的处理以及重启时间等的记录等等。

      需要注意的是在windows编辑sh文件要注意格式问题(CR/LR),否则容易出现sh执行错误的BUG。

      好了,进行测试吧,我这里测试OK,记录一下,希望能帮到其它遇到类似问题的同学。谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。

    上一篇:Linux中如何修复“X11 forwarding request failed on channel 0”错误
    下一篇:Ubuntu 14.10正式发布 Ubuntu 14.10 正式版下载地址
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信