使用子流程popen在长流程中获取pid

时间:2018-12-07 14:37:17

标签: python-3.x popen pid

我需要使用在Python 3.5.2中使用Popen运行的进程的PID。

具有:

with open(info['stdout_file'], 'w') as logfile:
    prcs = sp.Popen(split, 
                    stdout=logfile, 
                    stderr=logfile, 
                    cwd=info['runfolder'])

streams = prcs.communicate()
out, err = streams

post = {'pid': prcs.pid}
r = requests.post('https://.../receive_status.php', data=post)

仅在过程完成后才发布过程的PID。但是我需要它在过程中能够杀死它。有什么办法吗?因为杀死

1 个答案:

答案 0 :(得分:2)

该pid只要子进程即可使用。Popen返回对象,无需等待。 是等待过程完成的通讯功能。