我希望有人能帮忙。。。在
所以。。。我正在编写一个基于multiprocessing
的pythonnetsnmp
轮询器(在收集数据之后,我要进行大量的数据结构操作,因此开销比普通的threading
更值得。我找不到一个完整的python接口(包括像样的OID操作、bulkwalk等),所以我决定修改我自己的ctypes
绑定。我使用snmp_sess_synch_response()
来实际执行查询。在
当我运行一个线程时一切正常(我可以查询并获得结果)。但是当我从继承的Process
实例中调用我的(python)netsnmp类;当它到达snmp_sess_synch_response()
时,线程只是暂停,然后返回返回代码“2”,而snmp_errstring()
返回“Unknown Error”。在
我能找到的唯一信息是我应该使用http://net-snmp.sourceforge.net/docs/README.thread.html中的单个API,并且MIB的初始构建应该在线程化之前。我使用的是单一的API,在我产生我的工人之前,我正在构建MIB。在
有人知道我应该如何调试这个吗?如何使用ctypes处理多线程?为什么使用multiprocessing
会导致我正在工作的单线程轮询器像这样停止?在
我在redhat664位和python2.6.6上使用netsnmp5.5-41.el6。在
这是因为没有关闭filehandles,所以过了一段时间,线程耗尽了它的所有句柄,提示抛出了一堆错误。在
相关问题 更多 >
编程相关推荐