原文链接:https://www.cnblogs.com/nerrissa/p/5375206.html
import subprocess
proc = subprocess.Popen(['python', 'test.py'], stdout=subprocess.PIPE)
while 1:
print proc.poll()
#while 1:
# print "hello"
print "hello"
测试代码如上,poll函数返回码:
0 正常结束
1 sleep
2 子进程不存在
-15 kill
None 在运行
poll的返回: A None value indicates that the process hasn’t terminated yet.A negative value -N indicates that the child was terminated by signal N (Unix only).
ps:=====================================================================================================
self.proc.poll() == 0 判断子进程是否正常结束 正确
self.proc.poll() <= 0 会导致进程在一段时间内没有上报状态 具体原因??? 有问题
self.proc.poll() is not None判断进行是否结束