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

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

我想获取iostat命令的pid或使用多处理执行的命令
模块
当我执行时:
 d.pid

它给了我运行这个命令的子shell的PID。
任何帮助都是有价值的。
提前谢谢

最佳答案

类似于@rakslite,您可以使用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)

关于python - 获得子进程的pid,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3332043/

10-12 17:19