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制作在地图上模拟瘟疫扩散的Gif图
Mar 31 Python
python获取各操作系统硬件信息的方法
Jun 03 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 Python
Python极简代码实现杨辉三角示例代码
Nov 15 Python
Python实现的计算器功能示例
Apr 26 Python
使用Python对微信好友进行数据分析
Jun 27 Python
python处理DICOM并计算三维模型体积
Feb 26 Python
PowerBI和Python关于数据分析的对比
Jul 11 Python
pycharm设置鼠标悬停查看方法设置
Jul 29 Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
python 穷举指定长度的密码例子
Apr 02 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之第七天
2006/10/09 PHP
PHP 采集程序 常用函数
2008/12/18 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
php 启动报错如何解决
2014/01/17 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
2017/01/19 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
vue实现图书管理系统
2020/12/29 Vue.js
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
Django实现的自定义访问日志模块示例
2017/06/23 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
python移位运算的实现
2019/07/15 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
Python字典的概念及常见应用实例详解
2019/10/30 Python
python实现对变位词的判断方法
2020/04/05 Python
PHP数据运算类型都有哪些
2013/11/05 面试题
葡萄牙语专业个人求职信
2013/12/10 职场文书
数控个人求职信范文
2014/02/03 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
雷峰塔导游词
2015/02/09 职场文书
白银帝国观后感
2015/06/17 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
五年级作文之劳动作文
2019/11/12 职场文书