您的位置:首页 > 编程语言 > Python开发

如何优雅地退出python程序

2016-06-22 13:51 751 查看

如何优雅地退出python程序

一个单模的python程序,启动之后要能够优雅地关闭。即当用户按Ctrl+C或者kill pid的时候,程序都能从容关闭。实现起来非常简单。

is_running = True

def onSigChld(signo, frame):
global is_running
pid, status = os.waitpid(-1, os.WNOHANG)
if pid:
is_running = False
pass

def onSigInt(signo, frame):
global is_running
is_running = False
pass

def onSigTerm(signo, frame):
global is_running
is_running = False
pass

def test():
global is_running
while is_running:
time.sleep(1)
print "."
print "App exit gracefully."
sys.exit(0)
pass

if __name__ == "__main__":
# 子进程退出后向父进程发送的信号
signal.signal(signal.SIGCHLD, onSigChld)

# 主进程退出信号
signal.signal(signal.SIGINT, onSigInt)
signal.signal(signal.SIGTERM, onSigTerm)

test()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: