在Python中的特定时间生成信号

时间:2014-01-04 07:57:07

标签: python linux signals

我在Linux操作系统中运行我的代码。我想知道是否有可能在一个函数中的特定时间生成一个信号,该函数被Python代码中的另一个函数捕获? 通过信号我的意思是SIGALRM

1 个答案:

答案 0 :(得分:1)

警报或计时器可以发出SIGALRM信号(仔细阅读 signal(7)time(7) ...),特别是{{3并由timer_create(2)(或较旧的timer_settime(2) ...)设置。您可以使用setitimer(2)设置signal处理程序。

请注意,信号被发送到进程(或其中的某个线程),与当前执行的函数无关。可以使用sigaction(2)屏蔽它们。

如果您想发送或发出信号,请使用sigprocmask(2)。从进程外部(即在其他终端中),使用kill(2)命令。

您想要使用这些kill(1)的Python包装器。阅读Python的syscalls模块。

阅读signal以便更好地了解这些问题。

也许特定于Linux的Advanced Linux Programming对您有用(至少如果timerfd_create(2)周围有一些event loop)。