如果父项在Python中被杀死,则杀死子进程

发布于 2021-01-29 17:39:42

我从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)

但这似乎不起作用

关注者
0
被浏览
164
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我自己也遇到了同样的问题,我有以下解决方案:

    打电话之前p.start(),您可以设置p.daemon=True。然后如此处所述python.org
    multiprocessing

    进程退出时,它将尝试终止其所有守护程序子进程。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看