我在 Linux 操作系统中运行我的代码。我想知道是否有可能在一个特定时间在一个函数中生成一个信号,该信号被 Python 代码中的另一个函数捕获? 通过信号,我的意思是像 SIGALRM
请您参考如下方法:
SIGALRM
信号(仔细阅读 signal(7) 和 time(7) ...)可以由警报或计时器发出,特别是那些由 timer_create(2) 创建的警报或计时器并由 timer_settime(2) 设置(或较旧的 setitimer(2) ...)。您设置了 signal处理程序使用 sigaction(2) .
请注意,信号被发送到进程(或其中的某个线程),与当前执行的函数无关。可以使用 sigprocmask(2) 屏蔽它们.
如果您想发送或发出信号,请使用 kill(2) .从您的进程外部(即在其他一些终端中),使用 kill(1)命令。
您想使用这些 syscalls 的 Python 包装器.了解 signal Python模块。
并阅读 Advanced Linux Programming更好地(在您的脑海中)了解这些问题。
也许是 Linux 特定的 timerfd_create(2)可能对你有用(至少如果你有一些 event loop ,例如 poll(2) )。