我希望有人能帮忙......
所以......我正在编写一个基于multiprocessing
的python netsnmp
轮询器(我在收集数据后进行了大量的数据结构操作,因此开销比正常值{{{ 1}})。我找不到一个完整的python接口(具有正常的OID操作,bulkwalk等),所以我决定改正我自己的threading
绑定。我使用ctypes
来实际执行查询。
snmp_sess_synch_response()
实例中调用我的(python)netsnmp类时;当它到达Process
时,线程停止然后返回,返回码为'2',snmp_sess_synch_response()
返回'未知错误'。
我能找到的唯一信息是我应该使用来自http://net-snmp.sourceforge.net/docs/README.thread.html的Single API,并且初始MIB构建应该在线程之前。我正在使用Single API,我在生成我的工作人员之前正在构建MIB。
有没有人知道我应该如何进行调试呢?如何使用ctypes处理多线程?为什么使用snmp_errstring()
会使我的工作单线程轮询器像这样停止?
我在redhat 6 64-bit和python 2.6.6上使用net-snmp 5.5-41.el6。
答案 0 :(得分:0)
这是一个没有关闭我的文件句柄的问题,所以一段时间后线程耗尽了所有的句柄,并提示抛出一堆错误。