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使用mailbox打印电子邮件的方法
Apr 30 Python
浅谈Python中数据解析
May 05 Python
Python升级导致yum、pip报错的解决方法
Sep 06 Python
对python实现模板生成脚本的方法详解
Jan 30 Python
python开发准备工作之配置虚拟环境(非常重要)
Feb 11 Python
Python选择网卡发包及接收数据包
Apr 04 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
Jun 21 Python
python的debug实用工具 pdb详解
Jul 12 Python
Python3 列表,数组,矩阵的相互转换的方法示例
Aug 05 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
Python DES加密实现原理及实例解析
Jul 17 Python
python Django框架快速入门教程(后台管理)
Jul 21 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
搜索和替换文件或目录的一个好类--很实用
2006/10/09 PHP
PHP JS Ip地址及域名格式检测代码
2013/09/27 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
js资料toString 方法
2007/03/13 Javascript
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
Python计算回文数的方法
2015/03/11 Python
Django框架中方法的访问和查找
2015/07/15 Python
详解python的几种标准输出重定向方式
2016/08/15 Python
利用Python实现Windows定时关机功能
2017/03/21 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
tensorflow 初始化未初始化的变量实例
2020/02/06 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
2020/02/28 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
请解释接口的显式实现有什么意义
2012/05/26 面试题
营业员演讲稿
2013/12/30 职场文书
副处级干部考察材料
2014/05/17 职场文书
2014年世界艾滋病日宣传活动总结
2014/11/18 职场文书
网络研修随笔感言
2015/11/18 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
再谈python_tkinter弹出对话框创建
2022/03/20 Python