如何检测一个python进程,该进程在没有日志记录的情况下在5天后崩溃



我正在debian linux上运行一个多进程(和多线程)python脚本。其中一个进程在5或6天后反复崩溃。在崩溃的进程上,它总是相同的、唯一的工作负载。在syslog日志中没有关于崩溃的条目—进程只是静静地消失。它的行为也完全正常,产生正常的结果,然后突然停止。

如何检测非法进程。增加日志级别将产生大量日志,因此这不是我的首选选项。

我使用老式的日志分析来确定流程失败时会发生什么。

  1. 4天后流氓进程的日志级别增加到INFO
  2. 监视流氓进程失败的应用程序
  3. 在syslog
  4. 中定位故障的时间点。
  5. 分析了当时的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

希望这对将来的人有所帮助。

最新更新