swoole配合crontab服务器部署高可用
shell代码如下
count=`netstat -ln | grep 9501| wc -l`
echo $count
if [ $count -lt 1 ]; then
ulimit -c unlimited
/www/server/php/71/bin/php /www/swoole.php
echo "restart";
echo $(date +%Y-%m-%d_%H:%M:%S) >/www/wwwlogs/tbk_swoole_restart.log
fi
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
解决思路,主要利用到 netstat 去监听 正在listen的进程数量,如果为0,说明服务挂了,进行重启即可。