python捕获Ctrl+C信号

时间:2023-03-08 17:57:45

我们希望当服务器接收到一个 SIGTERM 信号时能够自动关机,或者做一些善后的操作,以下是实现的方法

import signal

# 自定义信号处理函数
def my_handler(signum, frame):
global stop
stop = True
print("进程被终止") # 设置相应信号处理的handler
signal.signal(signal.SIGINT, my_handler)
signal.signal(signal.SIGHUP, my_handler)
signal.signal(signal.SIGTERM, my_handler) stop = False while True:
try:
if stop:
# 中断时需要处理的代码
break
except Exception as e:
print(str(e))
break