我有一段代码运行两个工作进程,类似于以下内容:
for queue in queues:
process = multiprocessing.Process(name=queue.name, target=worker, args=(args,))
我将这个特定的程序变成一个守护进程,所以我还注册了一些信号处理程序来捕获SIGTERM,这样父进程就可以确保子进程终止。像这样:
^{pr2}$当我这样做的时候,我会遇到一些奇怪的错误,包括“只能测试子进程”和“模块‘线程化’中的KeyError”。在
如果没有发布完整的堆栈strace(它很长),我处理这个问题的方式有什么根本性的错误吗?IE:我不应该以这种方式在信号处理程序中终止进程吗?在
目前没有回答
相关问题 更多 >
编程相关推荐