如何使用子进程 check_output 获取子进程的 PID

How to get PID of the subprocess with subprocess check_output

在我的 python 脚本中,我正在尝试 运行 一些持久的下载过程,如下例所示,并且需要找到由 [=16= 启动的进程的 PID ]:

out = subprocess.check_output(["rsync","-azh","file.log",...])

可以吗?

您可以 运行 您的子进程使用 Popen 代替:

import subprocess
proc = subprocess.Popen(["rsync","-azh","file.log",...], stdout=subprocess.PIPE)
out = proc.communicate()[0]
pid = proc.pid

一般来说,Popen 对象可以让您更好地控制子流程并获得更多信息,但需要更多设置。 (虽然不多。)您可以在 official documentation.

中阅读更多内容