中断Python中所有正在运行的信号?

2024-10-02 12:29:31 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在Python脚本中中断所有正在运行的信号?我想要些signal.interrupt_all()之类的东西。在

有办法吗?在

谢谢


Tags: 脚本signal信号all办法interrupt
1条回答
网友
1楼 · 发布于 2024-10-02 12:29:31

你到底是什么意思?你想暂时忽略一个信号,还是完全忽略某些信号?在

一般来说,你不能“消失”一个信号一旦产生。您可以将其操作设置为“忽略”,或者阻止信号的传递,但您需要预先执行此操作。在

在POSIX系统上,您的选项是(参见Signal Concepts):

  • 通过将其处理程序设置为SIG_IGN,忽略该信号。这还将导致忽略挂起的信号(请参见Signal Concepts: SIG_IGN)。在
  • 阻止发送信号。信号将保持挂起状态,但进程/线程不会接收到它(直到它被解除阻塞)。不幸的是,您不能在Python中阻塞信号:请参见signal module documentation。在

请注意,您不能中断信号处理程序(信号捕捉函数);这应该不是问题,因为信号处理程序应该很快返回。在

另请参阅这个问题:Trapping Signals in Python。在

相关问题 更多 >

    热门问题