gpt4 book ai didi

Python 从 SIGINT 上的套接字接收中断

转载 作者:太空宇宙 更新时间:2023-11-04 04:46:37 25 4
gpt4 key购买 nike

我正在开发一个从套接字接收数据的程序,当发送信号时,我希望能够中断接收。

我现在拥有的:

class Killer: 
die = False
def __init__(self):
signal.signal(signal.SIGINT, self.terminate)
signal.signal(signal.SIGTERM, self.terminate)

def terminate(self, signum, frame):
print ("caught " + str(signum))
self.die = True;

sock = socket.socket()
# Generic socket setup

while (~killer.die):
#generic data setup
sock.receive(data)

sock.shutdown(socket.SHUT_RDWR)

当中断被捕获时,它打印然后返回等待。

有没有办法在接收到信号时中断接收?

最佳答案

自 Python 3.5 起,中断的系统调用为 automatically resumed在调用 (Python) 信号处理程序之后。如果您不希望这样,请在您的处理程序中引发异常。

关于Python 从 SIGINT 上的套接字接收中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49417041/

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