Crontab监听swool端口,只要地球不爆炸服务永久不死掉

为什么要监听

要是挂了,电话会被打爆的。

在swool 官方文档中写到:

在某些情况下,如系统负载过大swoole无法申请到内存而挂掉、swoole底层发生段错误、Server占用内存过大被内核Kill,或者被某些程序误杀。那swoole-server将无法提供服务,导致业务中断,公司收入出现损失。
利用进程的方式检测可以直接用官方提供的案例点击进入

利用监听端口的形式来restart swool 服务

原理和监听进程差不多, 每1分钟去监听这个端口是否存在, 如果不存在,则启动项目中的swool 服务。

check-port-on-crontab.sh

port=9502
#根据端口号查询对应的pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');

#杀掉对应的进程,如果pid不存在,则不执行
if [  -z  "$pid"  ];  then

   /usr/local/php/bin/php /www/im/swoole/im.php
fi

目前的端口是9502,把这个端口kill 掉, 再执行 这个sh 文件,如果服务是正常的则监听是正常的。

加入crontab

crontab -e


*/1 * * * * sh /www/sh/check-port-on-crontab.sh>/www/log/check-swool-port.log 2>&1 &

每一分钟去执行 check-port-on-crontab.sh 这个脚本。同时加入自定义的log 日志中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廖圣平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值