Python 如何杀死子进程&;由主管控制的子流程
在由主管控制的流程中,我创建子流程 xrange中i的Python 如何杀死子进程&;由主管控制的子流程,python,process,supervisord,gipc,Python,Process,Supervisord,Gipc,在由主管控制的流程中,我创建子流程 xrange中i的(管理器\u进程\u数量): p=gipc.start_进程(target=daemon_进程,args=()) 记录。追加(p) 对于记录中的r: r、 加入 然后在每个子进程中,我创建孙子进程: w=gipc.start\u进程(target=self.\u pool\u worker,daemon=True) 如何在运行时杀死所有子进程和孙进程 “supervisorctl stop xxx”停止我的主进程?您有几个选项: 修改Py
(管理器\u进程\u数量):
p=gipc.start_进程(target=daemon_进程,args=())
记录。追加(p)
对于记录中的r:
r、 加入
然后在每个子进程中,我创建孙子进程:
w=gipc.start\u进程(target=self.\u pool\u worker,daemon=True)
如何在运行时杀死所有子进程和孙进程
“supervisorctl stop xxx”停止我的主进程?您有几个选项:
SIGTERM
这样的信号时,它们会显式地将它们传播给子级supervisord
选项stopasgroup
和killasgroup
。这些选项被视为向整个进程组发送信号,而不是仅向一个进程发送信号您有两个选择:
SIGTERM
这样的信号时,它们会显式地将它们传播给子级supervisord
选项stopasgroup
和killasgroup
。这些选项被视为向整个进程组发送信号,而不是仅向一个进程发送信号我已经设置了配置选项:
stopasgroup=true,killasgroup=true
。但它似乎不起作用。您可以检查(使用ps-f
左右)每个进程的父PID是什么,以及每个进程的进程组ID(PGID)是什么吗?了解全部细节在这里真的很有帮助。另外,您是否可以尝试在每个Python程序中设置一个信号处理程序,以便在SIGTERM
上打印一些内容,并使用stopasgroup
进行测试?好的,我会尝试,非常感谢。我已经设置了配置选项:stopasgroup=true,killasgroup=true
。但是它似乎不起作用。您可以检查(使用ps-f
或其他方法)吗每个进程的父PID是什么,每个进程的进程组ID(PGID)是什么?了解全部细节在这里真的很有帮助。另外,您是否可以尝试在每个Python程序中设置一个信号处理程序,以便在SIGTERM
上打印一些内容,并使用stopasgroup
进行测试?好的,我会尝试,非常感谢。