当前位置 : 主页 > 编程语言 > python >

Python通过subprocess.Popen.poll控制流程

来源:互联网 收集:自由互联 发布时间:2022-06-15
python写流程控制的时候,有时需要等待运行结果完成才能进行下一步。有几个想法: 一是反复循环判断直到生成结果文件(且文件中有预期结果),低效易出错; 二是用subprocess模块来

python写流程控制的时候,有时需要等待运行结果完成才能进行下一步。有几个想法:

  • 一是反复循环判断直到生成结果文件(且文件中有预期结果),低效易出错;
  • 二是用subprocess模块来判断进程结果,较为常用;
  • 三是用drmaa包,功能强大,但使用相对复杂。

这次介绍如何用subprocess来实现。subprocess中的poll函数有以下几种返回码:

  • 0 正常结束
  • 1 sleep
  • 2 子进程不存在
  • 5 kill
  • None 在运行

示例代码:

import subprocess

proc = subprocess.Popen(['python', 'test.py'], stdout=subprocess.PIPE)
while True:
flag = 1
if proc.poll() is None:
flag = 0
if flag:
break
else:
print("Task is running")
time.sleep(100)


作者:Bioinfarmer

 若要及时了解动态信息,请关注同名微信公众号:Bioinfarmer。

【文章转自bgp服务器 http://www.558idc.com/yz.html提供,感恩】
上一篇:Python简明教程--Dict
下一篇:没有了
网友评论