【发布时间】:2015-06-23 12:09:57
【问题描述】:
我对在 Python 应用程序中安装退出处理程序的许多不同方法感到有些困惑。有atexit.register() 和signal.signal(SIG, handler),但我不确定哪一个适合我的情况。
我有一个从命令行启动的主进程,它生成了许多其他子进程作为守护进程。然后它joins 进程并等待它们完成。子进程运行无限循环(可以通过标志中断,但不确定如何触发)。当主进程通过 CTRL+C 关闭或收到终止信号时,我想在子进程中调用一些清理代码。
考虑到 2 个退出处理程序方法(或者可能还有更多),实现这一目标的最佳方法是什么。
【问题讨论】: