gpt4 book ai didi

python - pyzmq 中的套接字句柄泄漏?

转载 作者:太空狗 更新时间:2023-10-29 21:50:09 26 4
gpt4 key购买 nike

大家好 StackOverflow 的好人。

我正在使用 pyzmq,我有一些长时间运行的进程,这导致我发现套接字句柄处于打开状态。我已将有问题的代码缩小为以下内容:

import zmq

uri = 'tcp://127.0.0.1'
sock_type = zmq.REQ
linger = 250

# Observe output of lsof -p <pid> here and see no socket handles

ctx = zmq.Context.instance()
sock = ctx.socket(sock_type)
sock.setsockopt(zmq.LINGER, linger)
port = sock.bind_to_random_port(uri)

# Observe output of lsof -p <pid> here and see many socket handles

sock.close() # lsof -p <pid> still showing many socket handles
ctx.destroy() # Makes no difference

pyzmq版本为pyzmq-13.1.0

要么 pyzmq 中存在错误,要么我做错了什么。我希望你能帮助我!!

谢谢!

最佳答案

在#zeromq 上与 pieterh 和 minrk 交谈后,我们找到了原因。

13.1.0 中的

ctx.destroy() 有一个缩进错误,因此它仅在存在未关闭的套接字时调用 Context.term()

解决方法:改为调用 ctx.term(),并确保在执行之前关闭所有套接字。

关于python - pyzmq 中的套接字句柄泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20081495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com