请参阅以下python代码:

signal.pthread_sigmask(signal.SIG_BLOCK, range(1, signal.NSIG)) #block signals
time.sleep(60) #waiting 60 seconds
pending = signal.sigpending() #check how much signals in pending state

当应用程序处于 sleep 状态时,我会发送例如五个 SIGUSR1 信号,但我只收到一个 SIGUSR1 信号处于挂起状态。 我能收到所有发送的 SIGUSR1 信号吗?

最佳答案

在 Python 中通过 Signal 模块不要将一种类型信号的多个实例排队。当您的应用程序处于 sleep 状态时,您将收到所有发送的信号,但在此之后您只能检测到一个最新的信号。

关于python - 如何在 Python 中处理几个相同的未阻塞信号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32890154/

10-13 07:21
查看更多