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 select.select模块通信的实例讲解
Sep 21 Python
ubuntu安装sublime3并配置python3环境的方法
Mar 15 Python
pandas DataFrame实现几列数据合并成为新的一列方法
Jun 08 Python
通过Python模块filecmp 对文件比较的实现方法
Jun 29 Python
Python设计模式之简单工厂模式实例详解
Jan 22 Python
Python button选取本地图片并显示的实例
Jun 13 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 Python
Python pickle模块实现对象序列化
Nov 22 Python
python异常处理try except过程解析
Feb 03 Python
使用SQLAlchemy操作数据库表过程解析
Jun 10 Python
Django配置Bootstrap, js实现过程详解
Oct 13 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
ThinkPHP中Session用法详解
2014/11/29 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
PHP中$GLOBALS与global的区别详解
2019/03/21 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
2016/11/21 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
回调函数的意义以及python实现实例
2017/06/20 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
Selenium鼠标与键盘事件常用操作方法示例
2018/08/13 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
python sleep和wait对比总结
2021/02/03 Python
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
人力资源经理自我评价
2014/01/04 职场文书
捐书寄语赠言
2014/01/18 职场文书
致400米运动员广播稿
2014/02/07 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
团日活动总结书
2014/05/08 职场文书
扬尘污染防治方案
2014/06/15 职场文书
python基于tkinter实现gif录屏功能
2021/05/19 Python
python spilt()分隔字符串的实现示例
2021/05/21 Python
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript