MY HAOSE BLOG!!!

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

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

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

1、crontab修改


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

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


2、monitor.sh的实现


  1. #! /bin/sh  
      
    host_dir=`echo ~`                                       # 当前用户根目录  
    proc_name="CandyGameServer"                             # 进程名  
    file_name="/Candy/log/cron.log"                         # 日志文件  
    pid=0  
      
    proc_num()                                              # 计算进程数  
    {  
        num=`ps -ef | grep $proc_name | grep -v grep | wc -l`  
        return $num  
    }  
      
    proc_id()                                               # 进程号  
    {  
        pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`  
    }  
      
    proc_num  
    number=$?  
    if [ $number -eq 0 ]                                    # 判断进程是否存在  
    then   
        cd $host_dir/CandyAT/Bin/; ./candy.sh -DZone    # 重启进程的命令,请相应修改  
        proc_id                                         # 获取新进程号  
        echo ${pid}, `date` >> $host_dir$file_name      # 将新进程号和重启时间记录  
    fi


打赏

0分/0个投票

TOP


评论列表


发表评论
来宾的头像

«   2024年6月   »
12
3456789
10111213141516
17181920212223
24252627282930
TOP 搜索
TOP 控制面板
您好,欢迎到访网站!
  [查看权限]
TOP 网站分类
TOP 热门评分
TOP 最高评分
TOP 最新评分
TOP 你好,朋友
真是美好的一天!
TOP 站点信息
  • 文章总数:5538
  • 页面总数:3
  • 分类总数:4
  • 标签总数:6
  • 评论总数:36
  • 浏览总数:8188776
返回顶部
haose888
返回顶部