如何在python程序中处理OS信号?

时间:2015-10-20 10:20:39

标签: python signals

我正在编写一个python程序,它通过无限循环从队列中读取。如何处理OS /键盘中断(CTRL + C)发送的信号以从while循环中断并关闭活动连接和文件并正常退出程序而不是终止进程。

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

该程序将作为守护程序运行。因此需要发送信号。

1 个答案:

答案 0 :(得分:2)

我认为"信号"模块就是你要找的,

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

signal.signal(signal.SIGABRT, handler)