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实现把回车符\r\n转换成\n
Apr 23 Python
python图像处理之镜像实现方法
May 30 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
利用python画出折线图
Jul 26 Python
安装好Pycharm后如何配置Python解释器简易教程
Jun 28 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
如何在python中实现线性回归
Aug 10 Python
python 如何调用远程接口
Sep 11 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
Feb 25 Python
golang中的空接口使用详解
Mar 30 Python
详解Python中的进程和线程
Jun 23 Python
python树莓派通过队列实现进程交互的程序分析
Jul 04 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 向访客和爬虫显示不同的内容
2009/11/09 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
用YUI做了个标签浏览效果
2007/02/20 Javascript
用dom+xhtml+css制作的一个相册效果代码打包下载
2008/01/24 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
解决jquery的datepicker的本地化以及Today问题
2012/05/23 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
js打造数组转json函数
2015/01/14 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
Jquery简单分页实现方法
2015/07/24 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
2020/04/21 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
基于Vue+Webpack拆分路由文件实现管理
2020/11/16 Javascript
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
机电专业毕业生求职信
2013/10/27 职场文书
党员对照检查材料整改措施思想汇报
2014/09/26 职场文书
国际贸易实训报告
2014/11/05 职场文书
大班下学期幼儿评语
2014/12/30 职场文书
导游词之徐州云龙湖
2019/11/19 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL
浅析JavaScript中的变量提升
2022/06/01 Javascript