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 抓取动态网页内容方案详解
Dec 25 Python
举例介绍Python中的25个隐藏特性
Mar 30 Python
python查询sqlite数据表的方法
May 08 Python
Python编程中的for循环语句学习教程
Oct 14 Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
Python读大数据txt
Mar 28 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
Python 实现数据结构中的的栈队列
May 16 Python
Python产生一个数值范围内的不重复的随机数的实现方法
Aug 21 Python
pycharm新建Vue项目的方法步骤(图文)
Mar 04 Python
matplotlib对象拾取事件处理的实现
Jan 14 Python
Python中使用ipython的详细教程
Jun 22 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之变量、常量学习笔记
2008/03/27 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
php中namespace及use用法分析
2016/12/06 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
python 反向输出字符串的方法
2018/07/16 Python
Python实现Dijkstra算法
2018/10/17 Python
Python和Go语言的区别总结
2019/02/20 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
学python需要去培训机构吗
2020/07/01 Python
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
int和Integer有什么区别
2013/05/25 面试题
应征英语教师求职信
2013/11/27 职场文书
学生自我鉴定
2013/12/18 职场文书
财务管理职业生涯规划范文
2013/12/27 职场文书
软件专业毕业生个人自我鉴定
2014/04/17 职场文书
高中生班主任评语
2014/04/25 职场文书
妇女干部培训方案
2014/05/12 职场文书
2014年安全生产责任书
2014/07/22 职场文书
办公楼租房协议书范本
2014/11/25 职场文书
工程部经理岗位职责
2015/02/02 职场文书
同学聚会通知短信
2015/04/20 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS