我有一个生成多个进程的程序,我用Ctrl+C终止它
在程序开始时,我捕捉信号以便执行一些清理操作。在
def cleanup(*_):
# do cleanup operations here
# ...
exit(1)
# trap ctrl+c and hide the traceback message
signal(SIGINT, cleanup)
# spawn processes (pool of workers) and do work here
# ...
问题是cleanup
被多次调用(每个运行的进程一次)。在
我怎样才能使cleanup
只被调用一次?在
您的子进程正在从其父进程继承信号处理程序。如果希望处理程序只在一个进程中执行,则可能需要在子进程中取消注册该处理程序。在
相关问题 更多 >
编程相关推荐