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 BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Django中URL视图函数的一些高级概念介绍
Jul 20 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
Feb 05 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
python使用PIL模块获取图片像素点的方法
Jan 08 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
jupyter notebook 添加kernel permission denied的操作
Apr 21 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
Python列表如何更新值
May 27 Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 24 Python
python关于集合的知识案例详解
May 30 Python
详解Python如何批量采集京东商品数据流程
Jan 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
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
PHP全局变量与超级全局变量区别分析
2016/04/01 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
Javascript - HTML的request类
2007/01/09 Javascript
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
在IE和VB中支持png图片透明效果的实现方法(vb源码打包)
2011/04/01 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
JS实现touch 点击滑动轮播实例代码
2017/01/19 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
Python实现文件复制删除
2016/04/19 Python
Python中的多行注释文档编写风格汇总
2016/06/16 Python
Python判断以什么结尾以什么开头的实例
2018/10/27 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
如何使用Python 打印各种三角形
2019/06/28 Python
Python基于内置库pytesseract实现图片验证码识别功能
2020/02/24 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
详解python内置模块urllib
2020/09/09 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
选秀节目策划方案
2014/06/06 职场文书
鼓舞士气的口号
2014/06/16 职场文书
个人存款证明书
2014/10/18 职场文书