【发布时间】:2017-03-23 10:20:54
【问题描述】:
场景:子进程创建了子进程等等,如何获取它的pid?
我使用 subprocess.popen 启动了第一个子进程,例如 word 文件,这个 word 文件生成了一个新的子进程,我怎样才能得到它的 pid?
【问题讨论】:
-
你读过这个问题吗?我问了内部 pid
-
是的,如果你有根进程的 pid,你可以通过从你的模块调用 pstree 来请求嵌套的 pid, pstree -p $pid(root_process_pid) | grep -o '([0-9]\+)' | grep -o '[0-9]\+' unix.stackexchange.com/questions/67668/…
-
一旦你得到主进程的pid,使用
psutil可能是在python中遍历进程树最简单的方法:stackoverflow.com/questions/3332043/… -
感谢您的解释,但它并没有帮助我尝试 parent = psutil.Process(proc.pid).parent() for child in parent.children(recursive=True): print 'parent %d child %d' % (proc.pid,child.pid) 并且没有 parent(),它没有帮助,我无法获得孩子的 pid 我得到的唯一 pid 是父亲的
标签: python python-2.7 subprocess popen pid