获取子进程的pid

我正在使用python的多处理模块来生成新进程

如下 :

import multiprocessing

import os

d = multiprocessing.Process(target=os.system,args=('iostat 2 > a.txt',))

d.start()

我想获取iostat命令的pid或使用多处理模块执行的命令

当我执行时:

 d.pid 

它给了我运行此命令的subshel​​l的pid。

任何帮助都是有价值的。

提前致谢

回答:

你可以使用psutil:

import signal, psutil

def kill_child_processes(parent_pid, sig=signal.SIGTERM):

try:

parent = psutil.Process(parent_pid)

except psutil.NoSuchProcess:

return

children = parent.children(recursive=True)

for process in children:

process.send_signal(sig)

以上是 获取子进程的pid 的全部内容, 来源链接: utcz.com/qa/428114.html

回到顶部