博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python subprocess模块 监控子进程的2种方式 忙等待和立即返回同时设置子进程超时时间 - 转...
阅读量:6817 次
发布时间:2019-06-26

本文共 1427 字,大约阅读时间需要 4 分钟。

一:循环 忙等 子进程结束

1 import subprocess   2 import os   3 import time   4 tt = '555'   5 cmd = "python /home/100003/python/mypython/sub2.py "+" 333"+" 444 "+tt   6 print time.time()   7 sub2 = subprocess.Popen(cmd, shell=True)   8 while 1:   9     ret1 = subprocess.Popen.poll(sub2)  10     if ret1 == 0:  11         print sub2.pid,'end'  12         break  13     elif ret1 is None:  14         print  'running'  15         time.sleep(1)  16     else:  17         print sub2.pid,'term'  18         break  19 print time.time()

二:子进程结束 立即返回 使用select模块 同时可设置子进程的超时时间

1 import subprocess   2 import select   3 import time   4 import signal   5 import os   6    7 tt = '555'   8 cmd = "python /home/100003/python/mypython/sub2.py "+" 333"+" 444 "+tt   9 timeout = 3  10 pro = subprocess.Popen(cmd, stdout=subprocess.PIPE,shell = True)  11 print time.time()  12 while 1:  13     while_begin = time.time()  14     print 'timeout',timeout  15     fs = select.select([pro.stdout], [], [], timeout)  16     if pro.stdout in fs[0]:  17         tmp = pro.stdout.read()  18         print 'read', tmp  19         if not tmp:  20             print 'end'  21             print time.time()  22             break  23     else:  24         print 'outoftime'  25         print os.kill(pro.pid, signal.SIGKILL),  26         break  27     timeout = timeout - (time.time() - while_begin)

 

转载于:https://www.cnblogs.com/viviancc/archive/2013/05/03/3056960.html

你可能感兴趣的文章
配置FTP服务器(2) 本地用户下载和上传
查看>>
多线程编程(11) - 多线程同步之 Mutex (互斥对象)[续]
查看>>
【Java每日一题】20161214
查看>>
requireJs 模块化简陋版本
查看>>
我的友情链接
查看>>
How to upgrade vim to version 8 on CentOS 7
查看>>
xcode pod 报import 找不到 pods的支持问题解决方法之一
查看>>
nginx配置让任何文件在浏览器中显示文本text/plain
查看>>
思科路由器×××配置-- 动态 site-to-site ×××(上)
查看>>
Visual Studio统计有效代码行数
查看>>
Qt连接Oracle数据库常见问题
查看>>
45个实用的JavaScript技巧、窍门和最佳实践
查看>>
sqlserver 2005 列字符串拼接
查看>>
用面向接口编程思想看找对象
查看>>
TWaver GIS在电信中的使用
查看>>
MySQL5.7使用Notifier启动、停止服务时出现的问题
查看>>
今天用java弄个json数据交换接口,个人感觉这样实现省事实力。
查看>>
5 Servlet
查看>>
百度创始人李彦宏:要做最好的中文搜索引擎
查看>>
3.26作业
查看>>