解决frpc中断的问题

文章描述了一位技术专家遇到的酒店PMS系统数据库访问超时及frpc进程终止的问题。他们通过创建一个批处理脚本run.bat,使用/wait参数确保frpc.exe进程在终止后能立即重启,实现了对frpc进程的自动监控和恢复,有效解决了服务中断的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近接了一个酒店PMS的单子,系统用的是单机版。

另外酒店的门锁采用的是互联网门锁,也就是说通过http协议下发请求生成短信发给客户的。门锁需要公网的http地址进行回调;另外管理层希望能通过手机查询酒店的经营情况。

综上所诉,我在酒店的服务器上安装一个frpc,买了一个阿里云的centos轻服务器安装frps,然后把PMS的数据库通过内网映射到阿里云的轻服务器的端口,从而实现在轻服务器上的thinkphp访问酒店的数据库。另外也做了3389的映射。

以上是背景。

但是才运行了大半天,突然就数据库访问超时了,3389也访问不了了。我估计是frpc进程终止了。网上一查,结果才发现这玩意的通病就是莫名其妙的终止进程,原因不明。一查解决方案,都是搞个看守程序,但是我觉得吧,太麻烦。

只需要写个批处理run.bat来启动frpc,start参数后面加个/wait,表示等到程序执行完成,当执行完成的时候,不管三七二十一,再重新运行run.bat,如此就进入一个死循环。如果真的想要终止进程,就把bat的cmd进程给终止了,再终止frpc。

这样子等于设计了一个看门程序,而且负荷低啊。

@echo off
echo 当前目录:%~dp0 >>log.txt
if not exist %~dp0frpc.exe (
	echo %~dp0frpc.exe 文件不存在 >>log.txt
	exit
)
echo %date% %time% 正终止其它的FRPC进程 >>log.txt
taskkill /f /im frpc.exe
echo %date% %time% 已经终止全部的FRPC进程 >>log.txt
echo %date% %time% 正在启动FRPC >>log.txt
start /wait frpc.exe -c frpc.ini
echo %date% %time% FRPC发生中断 >>log.txt
run.bat

执行了几天,再也没有访问中断的问题了。每次frpc中断,都可以在一秒钟内迅速恢复:

当前目录:D:\frp_0.49.0_windows_amd64\ 
2023/06/12 周一 10:56:56.89 正终止其它的FRPC进程 
2023/06/12 周一 10:56:57.03 已经终止全部的FRPC进程 
2023/06/12 周一 10:56:57.03 正在启动FRPC 
2023/06/12 周一 19:14:35.31 FRPC发生中断 
当前目录:D:\frp_0.49.0_windows_amd64\ 
2023/06/12 周一 19:14:35.32 正终止其它的FRPC进程 
2023/06/12 周一 19:14:35.39 已经终止全部的FRPC进程 
2023/06/12 周一 19:14:35.39 正在启动FRPC 
2023/06/13 周二  6:56:34.82 FRPC发生中断 
当前目录:D:\frp_0.49.0_windows_amd64\ 
2023/06/13 周二  6:56:34.83 正终止其它的FRPC进程 
2023/06/13 周二  6:56:34.90 已经终止全部的FRPC进程 
2023/06/13 周二  6:56:34.90 正在启动FRPC 
2023/06/13 周二 18:38:35.65 FRPC发生中断 
当前目录:D:\frp_0.49.0_windows_amd64\ 
2023/06/13 周二 18:38:35.67 正终止其它的FRPC进程 
2023/06/13 周二 18:38:35.73 已经终止全部的FRPC进程 
2023/06/13 周二 18:38:35.73 正在启动FRPC 
2023/06/14 周三  6:20:35.08 FRPC发生中断 
当前目录:D:\frp_0.49.0_windows_amd64\ 
2023/06/14 周三  6:20:35.09 正终止其它的FRPC进程 
2023/06/14 周三  6:20:35.16 已经终止全部的FRPC进程 
2023/06/14 周三  6:20:35.16 正在启动FRPC 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值