我有几台MR-3020,我用OpenWRT闪存,并在其上安装了一个16GB的ext4 USB驱动器。在启动时,会启动一个守护程序shell脚本,它执行两项操作:
1)它经常查看我的主程序是否正在运行,如果没有启动python脚本 2)它比较我的主程序生成的持续心跳时间戳,如果它超过10分钟,则会杀死python进程。然后#1应该重新启动它。
运行后,我的主脚本进入监控模式并收集数据包信息。它会定期停止嗅探,连接互联网并将数据上传到我的服务器,保存心跳时间戳,然后返回监控模式。
这将运行几个小时,几天甚至几个星期,但似乎总是在某个时刻死亡。我已经有近6个月的这个问题了(不是唯一的)我的想法已经用完了。我在python脚本中的每一行都有错误,信息和调试级别日志记录的文件。 python进程使用的内存量似乎保持稳定。所有网络调用都封装在try / catch语句中。守护程序写入logread。即使有了所有的日志记录,我也无法追查问题所在。似乎没有任何无限循环输入,没有任何错误(通常在未连接到互联网时的HTTP请求)是最终的日志记录 - 设备似乎随机冻结。
有关如何进一步追踪此事的任何建议?
答案 0 :(得分:0)
它可能与许多事情有关:我必须修理的事情:检查路由器的外部电源,需要稳定,USB驱动器可能会耗尽比端口可以处理的电流太多,一个简单的修复是添加一个外部供电的usbhub或相同的端口,但电源线与电源线并联,并在驱动器所在的usb端口的开头,可能是1000uF