如果父项在Python中被杀死,则杀死子进程
我从python脚本生成了5个不同的进程,如下所示:
p = multiprocessing.Process(target=some_method,args=(arg,))
p.start()
我的问题是,当父进程(主脚本)以某种方式被杀死时,子进程继续运行。
当父进程被杀死时,有没有办法杀死这样生成的子进程?
编辑:我正在尝试:
p = multiprocessing.Process(target=client.start,args=(self.query_interval,))
p.start()
atexit.register(p.terminate)
但这似乎不起作用
-
我自己也遇到了同样的问题,我有以下解决方案:
打电话之前
p.start()
,您可以设置p.daemon=True
。然后如此处所述python.org
multiprocessing进程退出时,它将尝试终止其所有守护程序子进程。