Python 2.x如何设置命令执行的超时时间实例


Posted in Python onOctober 19, 2017

前言

在Python2.x中的几个用来执行命令行的库或函数在执行命令是均不能设置一个命令执行的超时时间,用来在命令执行时间超时时终端这个命令的执行,这个功能在3.x(?)中解决了,但是在2.x还是只能自己实现。下面话不多说了,来一起看看详细的介绍吧。

下面就简单实现了一个版本:

import subprocess
from threading import Timer


def call(args, timeout):
 p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

 timer = Timer(timeout, lambda process: process.kill(), [p])

 try:
  timer.start()
  stdout, stderr = p.communicate()
  return_code = p.returncode
  return (stdout, stderr, return_code)
 finally:
  timer.cancel()

测试

print call(['hostname'], 2)
print call(['ping', 'www.baidu.com'], 2)

总结

以上就是这篇文章的全部内容了,本文还有许多不足,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python操作摄像头截图实现远程监控的例子
Mar 25 Python
Python求解平方根的方法
Mar 11 Python
python3实现全角和半角字符转换的方法示例
Sep 21 Python
python 借助numpy保存数据为csv格式的实现方法
Jul 04 Python
python 字典修改键(key)的几种方法
Aug 10 Python
python创建与遍历List二维列表的方法
Aug 16 Python
python或C++读取指定文件夹下的所有图片
Aug 31 Python
Python迭代器iterator生成器generator使用解析
Oct 24 Python
python Opencv计算图像相似度过程解析
Dec 03 Python
python实现人像动漫化的示例代码
May 17 Python
Python实现查找数据库最接近的数据
Jun 08 Python
django中cookiecutter的使用教程
Dec 03 Python
详解使用 pyenv 管理多个版本 python 环境
Oct 19 #Python
python3使用pyqt5制作一个超简单浏览器的实例
Oct 19 #Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 #Python
python连接数据库的方法
Oct 19 #Python
Python3使用PyQt5制作简单的画板/手写板实例
Oct 19 #Python
python里使用正则的findall函数的实例详解
Oct 19 #Python
详解python里使用正则表达式的全匹配功能
Oct 19 #Python
You might like
PHP中创建并处理图象
2006/10/09 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
python引用DLL文件的方法
2015/05/11 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
Python selenium根据class定位页面元素的方法
2019/02/26 Python
python调用并链接MATLAB脚本详解
2019/07/05 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
树莓派升级python的具体步骤
2020/07/05 Python
使用CSS3制作饼状旋转载入效果的实例
2015/06/23 HTML / CSS
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
中英双版中文教师求职信
2013/10/27 职场文书
致标枪运动员加油稿
2014/02/15 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
运动会班级前导词
2015/07/20 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis
Python内置的数据类型及使用方法
2022/04/13 Python
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers