• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    linux进程监控shell脚本代码

    为确保php页面在后台运行,写了一个监控脚本,假设程序异常退出,那么可以自动重启。

    shell脚本/usr/local/scripts/receve.sh内容:

    #!/bin/bash
    #funtion:keep receve.php running
    PHP="/usr/local/php5/bin/php"
    PROGRAM="receve.php"
    #start dameo
    $PHP /home/httpd/$PROGRAM >>/usr/local/scripts/phpshell/receve.out 
    chpid="$!";
    echo "$chpid" > /usr/local/scripts/phpshell/receve.sid
    echo "child pid is $chpid"
    echo "status is $?"
    while [ 1 ]
    do
    wait $chpid
    exitstatus="$?"
    echo "child pid=$chpid is gone, $exitstatus" >>/usr/local/scripts/phpshell/receve.php_error.log
    echo `date` >> /usr/local/scripts/phpshell/receve.php_error.log
    echo "**************************" >>/usr/local/scripts/phpshell/receve.php_error.log
    sleep 10
    $PHP /home/httpd/$PROGRAM >> /usr/local/scripts/phpshell/receve.out 
    chpid="$!";
    echo "$chpid" > /usr/local/scripts/phpshell/receve.sid
    echo "next child pid is $chpid"
    echo "next status is $?"
    done

    需要保证监控脚本正常运行,在每天凌晨自动重启脚本/usr/local/scripts/restart_r.sh,写入crontab:

    #!/bin/bash
    echo "" >/tmp/receve_pid.txt
    /bin/ps ax | /bin/grep "receve.sh" | /bin/grep -v "grep" | /bin/awk '{print $1}' >/tmp/receve_pid.txt
    no1pid=`cat /tmp/receve_pid.txt | sort -r`
    no2pid=`cat /usr/local/scripts/phpshell/receve.sid | sort -r`
    if [ -z $no1pid ];then
      echo "receve.sh pid is null, receve.sh is not running."
     else  
      /bin/kill -9 "$no1pid"  
      echo "receve.sh killed"
    fi
    sleep 3
    if [ -z $no2pid ];then
      echo "receve.php pid is null, receve.php is not running."
     else
      /bin/kill -9 "$no2pid"
      echo "receve.php killed"
    fi
    rm -rf /usr/local/scripts/phpshell/receve.sid 
    sleep 3 
    /usr/local/scripts/receve.sh > /dev/null 
    

    crontab:

    复制代码 代码如下:

    #restart receve.sh
    10 00 * * * /usr/local/scripts/restart_r.sh

    注意:脚本命名要避免重复,避免自己kill掉自己的进程。

    您可能感兴趣的文章:
    • Shell脚本实现Linux系统和进程资源监控
    • python实现监控linux性能及进程消耗性能的方法
    • linux系统使用python监控apache服务器进程脚本分享
    • Linux 监控文件被什么进程修改(详解)
    • 详解Linux监控重要进程的实现方法
    • shell监控linux系统进程创建脚本分享
    • Linux工具之Nethogs按进程监控网络带宽的安装部署
    • linux下监视进程 崩溃挂掉后自动重启的shell脚本
    • linux自动重启tomcat脚本分享
    • linux下通过脚本实现自动重启程序
    • linux进程监控与自动重启的简单实现方法
    上一篇:Shell脚本实现防止国外ip访问服务器
    下一篇:Shell脚本遍历目录并批量修改文件编码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    linux进程监控shell脚本代码 linux,进程,监控,shell,脚本,