linux 进程监控和自动重启的简单实现(转)

linux 进程监控和自动重启的简单实现(转)

目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能。

实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重启并写入日志。

1、crontab修改

 

[plain] 
view plain
copy

 

  1. chen@IED_40_125_sles10sp1:~/CandyAT/Bin> crontab -e  
  2. */1 * * * * /home/chen/CandyAT/Bin/monitor.sh  

 

上面的意思是每分钟调用一下脚本monitor.sh

2、monitor.sh的实现

 

[plain] 
view plain
copy

 

    1. #! /bin/sh  
    2. host_dir=`echo ~`                                       # 当前用户根目录  
    3. proc_name=”CandyGameServer”                             # 进程名  
    4. file_name=”/Candy/log/cron.log”                         # 日志文件  
    5. pid=0  
    6. proc_num()                                              # 计算进程数  
    7. {  
    8.     num=`ps -ef | grep $proc_name | grep -v grep | wc -l`  
    9.     return $num  
    10. }  
    11. proc_id()                                               # 进程号  
    12. {  
    13.     pid=`ps -ef | grep $proc_name | grep -v grep | awk ‘{print $2}’`  
    14. }  
    15. proc_num  
    16. number=$?  
    17. if [ $number -eq 0 ]                                    # 判断进程是否存在  
    18. then   
    19.     cd $host_dir/CandyAT/Bin/; ./candy.sh -DZone    # 重启进程的命令,请相应修改  
    20.     proc_id                                         # 获取新进程号  
    21.     echo ${pid}, `date` >> $host_dir$file_name      # 将新进程号和重启时间记录  
    22. fi  
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 原创:http://blog.csdn.net/liumangxiong/article/details/7084637

转载于:https://www.cnblogs.com/fatt/p/4789331.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109344.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 入门级都能看懂的softmax详解「建议收藏」

    入门级都能看懂的softmax详解「建议收藏」1.softmax初探在机器学习尤其是深度学习中,softmax是个非常常用而且比较重要的函数,尤其在多分类的场景中使用广泛。他把一些输入映射为0-1之间的实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。首先我们简单来看看softmax是什么意思。顾名思义,softmax由两个单词组成,其中一个是max。对于max我们都很熟悉,比如有两个变量a,b。如果a>b,则max为…

    2022年6月26日
    38
  • 面试官,不要再问我三次握手和四次挥手「建议收藏」

    面试官,不要再问我三次握手和四次挥手「建议收藏」三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。见过比较典型的面试场景是这样的:面试官:请介绍下三次握手求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,会应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就…

    2022年4月29日
    46
  • 仿淘宝实现多行星级评价

    仿淘宝实现多行星级评价

    2021年10月14日
    38
  • 自定义web框架

    HTTP协议HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWideWeb)服务器传输超文本到本地浏览器的传送

    2022年3月29日
    52
  • 使用adb命令安装apk

    使用adb命令安装apk使用adb命令安装apk

    2022年4月30日
    53
  • windows7未能连接一个windows服务(无法连接网络)的解决方法

    windows7未能连接一个windows服务(无法连接网络)的解决方法今天下午不知道怎么搞的,就搞的无线不可以用了,出现了个 “windows7未能连接一个windows服务”问题,而且连eclipse都打不开了。晚上在网上找了一个方法,终于搞定了。方法:是重新安装了下360,然后它自动检测出来要修复LSP文件,然后就点击,再重启后就搞定了。下面这篇文章可能也有用:http://iecspace.ecjtu.org/posts/connect-to-w

    2022年5月14日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号