你如何在python中列出所有子进程?

Row*_*wan 17 python subprocess

我正在使用启动各种子流程的第三方库.当有异常时我想杀死所有子进程.我如何获得儿童pids列表?

Jas*_*ens 20

您无法始终在创建所有子流程时对其进行记录,因为它们可以反过来创建您不知道的新流程.但是,使用psutil来查找它们非常简单:

import psutil

current_process = psutil.Process()
children = current_process.children(recursive=True)
for child in children:
    print('Child pid is {}'.format(child.pid))
Run Code Online (Sandbox Code Playgroud)


Zac*_*ing 4

在创建子进程时记录它们的 pid 通常会更安全。没有符合 posix 的方法来列出子 PID。我知道这个可以用PS工具完成。

  • 是的,我预料到了。问题是不是我创建流程,而是第三方库。那好吧。这不是一个搅局者。 (3认同)