Python 发送信号并使进程休眠

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

我需要这个脚本停止监听按钮按下时,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 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
因此,它似乎没有在循环中继续前进。所以当我按下按钮时,什么都没有发生

任何关于如何使其恢复工作的建议都将不胜感激