【问题标题】:How to get PID of the subprocess with subprocess check_output如何使用子进程 check_output 获取子进程的 PID
【发布时间】:2017-10-11 05:30:09
【问题描述】:

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

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

有可能吗?

【问题讨论】:

    标签: python subprocess pid


    【解决方案1】:

    您可以改用Popen 运行您的子进程:

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

    一般来说,Popen 对象为您提供了更好的控制和子进程的更多信息,但需要更多的设置。 (虽然不多。)您可以在official documentation 中阅读更多内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 2017-03-23
      相关资源
      最近更新 更多