我正在debian linux上运行一个多进程(和多线程)python脚本。其中一个进程在5或6天后反复崩溃。在崩溃的进程上,它总是相同的、唯一的工作负载。在syslog日志中没有关于崩溃的条目—进程只是静静地消失。它的行为也完全正常,产生正常的结果,然后突然停止。
如何检测非法进程。增加日志级别将产生大量日志,因此这不是我的首选选项。
我使用老式的日志分析来确定流程失败时会发生什么。
- 4天后流氓进程的日志级别增加到INFO
- 监视流氓进程失败的应用程序
- 在syslog 中定位故障的时间点。
- 分析了当时的syslog日志
我当时发现如下错误;第一行是流氓进程所做的最后一个条目(就在它失败之前),第二行是指向底层错误的条目。在这种情况下,pyzmq绑定或zeromq库存在问题。我要向他们开一张票。
Aug 10 08:30:13 rpi6 python[16293]: 2021-08-10T08:30:13.045 WARNING w1m::pid 16325, tid 16415, taking reading from sensors with map {'000005ccbe8a': ['t-top'], '000005cc8eba': ['t-mid'], '00000676e5c3': ['t
Aug 10 08:30:14 rpi6 python[16293]: Too many open files (bundled/zeromq/src/ipc_listener.cpp:327)
A
希望这对将来的人有所帮助。