子进程状态永远不会在进程结束时更改

时间:2015-10-05 12:20:29

标签: python process

我有一个打印一行的简单python代码。

# in the simple_print.py
print "  in the simple_print.py   "

在另一个文件中我使用 subprocess.Popen 来执行此代码:

import psutil, subprocess

cmd = "python simple_print.py"
P = subprocess.Popen(cmd,shell=True)
psProcess = psutil.Process(pid=P.pid)

print "status: ", psProcess.status

状态始终为正在运行。怎么了?因为它应该完成或终止。 谢谢大家。

1 个答案:

答案 0 :(得分:1)

您永远不会等待它完成,您当前的通话流程永远不会知道您的客户流程做了什么,请在打印该状态之前尝试P.wait()