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读取word文档的方法
May 09 Python
详谈Python基础之内置函数和递归
Jun 21 Python
利用Python在一个文件的头部插入数据的实例
May 02 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
python web框架 django wsgi原理解析
Aug 20 Python
Python list运算操作代码实例解析
Jan 20 Python
parser.add_argument中的action使用
Apr 20 Python
python实现126邮箱发送邮件
May 20 Python
详解python中GPU版本的opencv常用方法介绍
Jul 24 Python
Python大批量搜索引擎图像爬虫工具详解
Nov 16 Python
python多线程方法详解
Jan 18 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
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
PHPlet在Windows下的安装
2006/10/09 PHP
php下获取http状态的实现代码
2014/05/09 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
php邮件发送的两种方式
2020/04/28 PHP
JavaScript入门学习书籍推荐
2008/06/12 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
Python中使用语句导入模块或包的机制研究
2015/03/30 Python
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
Python实现扩展内置类型的方法分析
2017/10/16 Python
Python Grid使用和布局详解
2018/06/30 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
美国最值得信赖的宠物药房:Allivet
2019/03/23 全球购物
音乐系毕业生自荐信
2013/10/27 职场文书
50岁生日感言
2014/01/23 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
2014年法院工作总结
2014/11/24 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
如何用python插入独创性声明
2021/03/31 Python
晶体管来复再生式二管收音机
2021/04/22 无线电
python析构函数用法及注意事项
2021/06/22 Python
Python一些基本的图像操作和处理总结
2021/06/23 Python
Python正则表达式中flags参数的实例详解
2022/04/01 Python
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android