永久运行了几个小时
问题描述:
为一些在Linux上,我的Python 2.6的程序时使用的urllib2,httplib的和线程,运行后之后“的名称解析临时故障”开始提出这个误差为每一个请求:永久运行了几个小时
<class 'urllib2.URLError'> URLError(gaierror(-3, 'Temporary failure in name resolution'),)
如果我重新启动程序,它会重新开始工作。我的猜测是某种资源枯竭,但我不知道如何检查它。我如何诊断和解决问题?
答
遇到同样的问题,在我的情况下,它没有资源枯竭,我的问题发生在我的DHCP服务器更改名称服务器地址时,libc不想弹球并重新加载新的resolv.conf文件,缓存一个,迫使我每次更改时重新启动脚本。
所有我的Python套接字连接尝试之后这件事上失败了,所以我发现this code是解决情况:
import ctypes
try:
libc = ctypes.CDLL('libc.so.6')
res_init = getattr(libc, '__res_init')
res_init(None)
except:
pass
调用socket.connect之前使用它,希望这有助于
你早收盘HTTPRequests的(或者你在用什么)? –
试图。我只注意到我有大量的CLOSE_WAIT连接必须与问题相关。 – 2371