【问题标题】:How do i know if a subprocess has started or not?我如何知道子进程是否已启动?
【发布时间】:2020-01-08 08:06:51
【问题描述】:

我有以下子流程。

ss = subprocess.Popen(["python3", "-m", "unittest", totest], 
                      stdin=None, 
                      stdout=subprocess.PIPE,  
                      stderr=subprocess.PIPE)

我想知道它是否已经启动或抛出了错误。

【问题讨论】:

  • 我认为该过程会立即启动,因为操作系统会对其进行调度。您可以使用 subprocess.pollsubprocess.communicate 之类的东西检查它是否已结束
  • 我不认为它是重复的。另一个问题询问该过程是否仍在运行。这个询问进程是否已经运行。
  • @glglgl 是的,我问过这个

标签: python


【解决方案1】:

如果调用正常返回,则可以认为进程已启动。如果进程因任何原因无法启动,Popen() 调用将引发异常。

【讨论】:

    猜你喜欢
    • 2010-09-16
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    相关资源
    最近更新 更多