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 相关文章推荐
下载安装setuptool和pip linux安装pip    
Jan 24 Python
Python使用微信SDK实现的微信支付功能示例
Jun 30 Python
Python算法之图的遍历
Nov 16 Python
对numpy中array和asarray的区别详解
Apr 17 Python
详解Python Matplot中文显示完美解决方案
Mar 07 Python
详解python解压压缩包的五种方法
Jul 05 Python
40个你可能不知道的Python技巧附代码
Jan 29 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
2021年的Python 时间轴和即将推出的功能详解
Jul 27 Python
python脚本第一行如何写
Aug 30 Python
浅析python连接数据库的重要事项
Feb 22 Python
OpenCV实现常见的四种图像几何变换
Apr 01 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
综合图片计数器
2006/10/09 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
php SQL Injection with MySQL
2011/02/27 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
json 定义
2008/06/10 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
vue组件系列之TagsInput详解
2020/05/14 Javascript
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Python中查看文件名和文件路径
2017/03/31 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
Python3中exp()函数用法分析
2019/02/19 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
Python几种常见算法汇总
2020/06/02 Python
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
加拿大时装零售商:Influence U
2018/12/22 全球购物
英语系毕业生求职信
2014/07/13 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
公司周年庆典标语
2014/10/07 职场文书
个人作风建设总结
2014/10/23 职场文书
婚礼答谢礼品
2015/01/20 职场文书
奖励通知
2015/04/22 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
四大名著读书笔记
2015/06/25 职场文书
《植树问题》教学反思
2016/03/03 职场文书