PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 服务器 > Linux教程 > 正文

    Shell脚本监听端口是否挂掉,重启swoole服务

    作者:admin来源:网络浏览:时间:2018-03-02 14:50:20我要评论
    分享到
    导读:在做微信小游戏的时候,使用 PHP + Swoole 作为网络通信框架,在某些情况下,如系统负载过大swoole无法申请到内存而挂掉、swoole底层发...
    在做微信小游戏的时候,使用 PHP + Swoole 作为网络通信框架,在某些情况下,如系统负载过大swoole无法申请到内存而挂掉、swoole底层发生段错误、Server占用内存过大被内核Kill,或者被某些程序误杀。那swoole-server将无法提供服务。有一个非常有效并且在BAT等大型公司常用的方案是crontab重启监控。
    原理是每1分钟执行一次shell脚本,检测端口是否存活,如果存在则跳过。如果发现主进程已经挂掉,则重新启动Server。


    1. #!/bin/bash 
    2. TCPListeningnum=`netstat -an | grep ":3389" | awk '$1 == "tcp" && $NF == "LISTEN" {print $0}' | wc -l` 
    3. if [ $TCPListeningnum -eq 0 ] 
    4. then 
    5. echo "`date` : listener port is down">>/home/wwwlogs/swoole_down.log 
    6. #ps -eaf |grep "swoole:command" | grep -v "grep"| awk '{print $2}'|xargs kill -9 
    7. #sleep 2 
    8. #ulimit -c unlimited 
    9. #如果3389端口down了,重启namenode服务 
    10. /usr/local/php/bin/php /home/wwwroot/h5guess/artisan swoole:command start 
    11. else 
    12. echo "3389端口正常" >>/home/wwwlogs/swoole_ok.log 
    13. fi 


    转载请注明(B5教程网)原文链接:http://www.bcty365.com/content-121-6208-1.html
    相关热词搜索:
    网友评论: