<记录> PHP监控进程状态,完成掉线自动重启

1. 利用Shell脚本实现

#!/bin/bash

PORT=0

while [ true ];do
    read -p "please enter the port that you want to minitor:" port
    if [ $port -gt 65536 ] ||  [ $port -lt 1 ];then
        echo 'the port you enter is not correctly'
    else
        PORT=$port
        break
    fi
done

while [ true ]; do
    if [ `netstat -anp 2> /dev/null | grep ${PORT} | wc -l` -gt 0 ] ;then
        echo 'service is online'
    else
        echo 'service is offline'
        cd /home/eko/share/live_admin/script
        php ./ws.php &
    fi
    sleep 3
done

 

2. 利用Swoole定时器实现

class Server {
    const PORT = 8811;

    public function port() {
        $shell  =  "netstat -anp 2>/dev/null | grep ". self::PORT . " | grep LISTEN | wc -l";

        $result = shell_exec($shell);
        if($result != 1) {
            // 发送报警服务 邮件 短信
            /// todo
            echo date("Ymd H:i:s")."error".PHP_EOL;
        } else {
            echo date("Ymd H:i:s")."succss".PHP_EOL;
        }
    }
}

// nohup
swoole_timer_tick(2000, function($timer_id) {
    (new Server())->port();
    echo "time-start".PHP_EOL;
});

 

转载于:https://www.cnblogs.com/xiaoliwang/p/9479225.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值