Python 发送信号并使进程休眠
我需要这个脚本停止监听按钮按下时,USR1信号发送给它。下面的代码可以正常工作,但在pause_loop函数结束后,它永远不会恢复循环Python 发送信号并使进程休眠,python,Python,我需要这个脚本停止监听按钮按下时,USR1信号发送给它。下面的代码可以正常工作,但在pause_loop函数结束后,它永远不会恢复循环 import os import signal import time import mqttudp.engine from gpiozero import Button, LED import json pid=os.getpid() button_send = Button(23) def pause_loop(*kwargs): global
import os
import signal
import time
import mqttudp.engine
from gpiozero import Button, LED
import json
pid=os.getpid()
button_send = Button(23)
def pause_loop(*kwargs):
global button_send
print(f"[{inspect.stack()[0][3]}] Snoozing for a bit")
button_send.close()
time.sleep(5)
print(f"[{inspect.stack()[0][3]}] Waking back up")
button_send = Button(23)
signal.signal(signal.SIGTERM, graceful_exit)
signal.signal(signal.SIGUSR1, pause_loop)
if __name__ == "__main__":
while True:
try:
print(f"Starting up Sender, PID {pid}")
send=button_send.wait_for_press()
print(f"[{inspect.stack()[0][3]}] Button for send pressed {send}")
data={
'a': 'b',
'c': 'd'
}
print(f"Sending {data}")
mqtt.publish_message('start_incoming_call', json.dumps(data))
except KeyboardInterrupt:
graceful_exit("Shutting down")
发送kill-USR1 1043
后,脚本输出为
Starting up Sender on raspberrypi, PID: 1243
[pause_loop] Snoozing for a bit
[pause_loop] Waking back up
因此,它似乎没有在循环中继续前进。所以当我按下按钮时,什么都没有发生
任何关于如何使其恢复工作的建议都将不胜感激