python - 如何从 python 程序发送信号?

标签 python linux signals

我有这个监听 USR1 信号的代码

import signal
import os
import time

def receive_signal(signum, stack):
    print 'Received:', signum

signal.signal(signal.SIGUSR1, receive_signal)
signal.signal(signal.SIGUSR2, receive_signal)

print 'My PID is:', os.getpid()

while True:
    print 'Waiting...'
    time.sleep(3)

这在我使用 kill -USR1 pid

发送信号时有效

但是我怎样才能从上述 python 脚本中发送相同的信号,以便在 10 秒后自动发送 USR1 并接收它,而无需我打开两个终端来检查它?

最佳答案

您可以使用 os.kill() :

os.kill(os.getpid(), signal.SIGUSR1)

将它放在代码中要从中发送信号的任何位置。

关于python - 如何从 python 程序发送信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080500/

相关文章:

c++ - QML 信号连接

c - 在库中调用 write(2) 时禁用 SIGPIPE 信号

python - 我如何测试这个功能?

python - 获取字符串的每个组合

python - 使用 Python 3 在 X 服务器(Raspberry Pi)上显示全屏 jpeg

linux - 将具有序列的文件重命名为新序列

linux - 尝试 'tail' 最新日志文件时出现问题

php - PHP中从信号号获取信号名称

python - 列表和嵌套列表的简单点积以单独列表中的索引为条件

python - 为什么 `xavier_initializer()`和 `glorot_uniform_initializer()`在某种程度上是重复的?