我正在编写一个Python程序,通过无限循环从队列中读取数据。当操作系统或键盘发出信号(CTRL+C)时,如何处理该信号以跳出while循环,并优雅地关闭活动连接和文件并退出程序,而不是强行终止进程。
while True:
read_from_file_and_do_something()
## Handle a signal of shutdown here.
## Send email before exiting.
这个程序将作为守护进程运行。因此需要发送一个信号。
signal.signal(signal.SIGABRT, handler)
并在处理函数中使用退出码执行后续任务。 - nagato