博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
<记录> PHP监控进程状态,完成掉线自动重启
阅读量:6247 次
发布时间:2019-06-22

本文共 1102 字,大约阅读时间需要 3 分钟。

1. 利用Shell脚本实现

#!/bin/bashPORT=0while [ 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    fidonewhile [ 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 3done

 

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;        }    }}// nohupswoole_timer_tick(2000, function($timer_id) {    (new Server())->port();    echo "time-start".PHP_EOL;});

 

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

你可能感兴趣的文章
SCCM2012系列之五,SCCM2012部署前的WSUS准备
查看>>
oracle卸载Oracle Clusterware
查看>>
Centos7安装rabbitmq server 3.6.0
查看>>
kali 卸载程序
查看>>
'ascii' codec can't decode byte 0x8b in position 6: ordinal not in range(128)
查看>>
使用阿里云 身份证号正反面拍照图片识别信息
查看>>
光场理论及成像应用
查看>>
mongodb——安装单节点mongodb*
查看>>
正则表达式,grep/egrep工具的使用
查看>>
安装MariaDB和Apache
查看>>
遗传算法入门--连载10
查看>>
NS2:实验五置信区间
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
设计模式 责任链模式
查看>>
java枚举类型
查看>>
我的友情链接
查看>>
RESTful API 设计指南
查看>>
迷渡:免费的编程中文书籍索引
查看>>