如何使用子进程 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.
中阅读更多内容
在我的 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.