python代码片段——不断尝试执行cmd
2016-01-06 23:10
656 查看
""" cmd: 命令 tries: 尝试次数 timeout: 每一次尝试执行时的时间长度 interval: 每一次尝试执行间的时间间隔 """
@staticmethod def execute_shell(cmd, tries=1, timeout=10, interval=10): index = 0 errorContent = "" while True: if(index >= tries): raise Exception(-1,"[{0}] try {1} times still fail:{2}".format(cmd,tries,errorContent)) if timeout: end_time = datetime.datetime.now() + datetime.timedelta(seconds=timeout) sub = subprocess.Popen(cmd, stdout=subprocess.PIPE,stderr=subprocess.PIPE, stdin=subprocess.PIPE,shell=True) while sub.poll() is None: time.sleep(0.1) if timeout: if end_time <= datetime.datetime.now(): Toolkit.kill_child_processes(sub.pid) stdout,stderr = sub.communicate() if sub.returncode == 0: return sub.returncode,stdout else: errorContent = stderr time.sleep(interval) index += 1
相关文章推荐
- 《笨办法学Python》 第6课手记
- 树莓派高级GPIO库,wiringpi2 for python使用笔记(五)i2c读取测试
- Python选择语句
- [Python标准库]itertools——迭代器函数
- python学习之 循环里面慎用copy类
- python--函数--5
- 关于python文件操作
- Python 字符串操作方法大全
- Python语法学习笔记
- 2016第1篇--Python查看微信被删好友
- 在树莓派B+上编译安装opencv 3.1.0 for both python
- 深入分析 Python 的垃圾回收机制
- Python爬取网页中的图片小试牛刀
- KNN 算法 python 实现
- python之类之select
- 18. 4Sum leetcode Python 2016 new Season
- utilities(python)
- Python定时执行某个任务
- <Test-Driven Development with Python>学习笔记 第一部分 测试驱动开发基础
- python 代码片段26