如何在Python中处理多个相同的畅通信号?
How to handle several same unblocked signals in Python?
请看下面的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
当应用程序处于睡眠状态时,我正在发送例如五个 SIGUSR1 信号,但我只收到一个待处理的 SIGUSR1 信号。
我可以接收所有发送的 SIGUSR1 信号吗?
在 Python 中,通过信号模块不要对一种类型信号的多个实例进行排队。当您的应用程序处于睡眠状态时,您将收到所有发送的信号,但在此之后您只能检测到一个最新信号。
请看下面的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
当应用程序处于睡眠状态时,我正在发送例如五个 SIGUSR1 信号,但我只收到一个待处理的 SIGUSR1 信号。
我可以接收所有发送的 SIGUSR1 信号吗?
在 Python 中,通过信号模块不要对一种类型信号的多个实例进行排队。当您的应用程序处于睡眠状态时,您将收到所有发送的信号,但在此之后您只能检测到一个最新信号。