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网络编程之文件下载实例分析
May 20 Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 Python
python学习教程之使用py2exe打包
Sep 24 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
详解基于django实现的webssh简单例子
Jul 17 Python
Python爬取成语接龙类网站
Oct 19 Python
Django用户认证系统 User对象解析
Aug 02 Python
用python的turtle模块实现给女票画个小心心
Nov 23 Python
Python实现画图软件功能方法详解
Jul 28 Python
python两种获取剪贴板内容的方法
Nov 06 Python
Python离线安装openpyxl模块的步骤
Mar 30 Python
基于tensorflow权重文件的解读
May 26 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使之能同时支持GIF和JPEG
2006/10/09 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
javascript动态加载二
2012/08/22 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
vue子路由跳转实现tab选项卡
2019/07/24 Javascript
关于layui导航栏不展示下拉列表的解决方法
2019/09/25 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
js实现简单扫雷
2020/11/27 Javascript
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
大型车展策划方案
2014/02/01 职场文书
绿色校园广播稿
2014/10/13 职场文书
拉贝日记观后感
2015/06/05 职场文书
政审证明范文
2015/06/19 职场文书
小学语文教师研修日志
2015/11/13 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python
德劲DE1105机评
2022/04/05 无线电