如何在python程序中处理操作系统信号



我正在编写一个python程序,通过无限while循环从队列读取。我如何处理由操作系统/键盘中断(CTRL+C)发送的信号,从while循环中中断,关闭活动连接和文件,优雅地退出程序,而不是杀死进程。

while True:
    read_from_file_and_do_something()
    ## Handle a signal of shutdown here.
    ## Send email before exiting.

这个程序将作为守护进程运行。因此需要发送一个信号。

我认为信号模块是你正在寻找的,

def handler(signum, frame):
    print 'Signal handler called with signal', signum
signal.signal(signal.SIGABRT, handler)

最新更新