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服务器拒绝服务攻击代码
Jan 16 Python
python函数形参用法实例分析
Aug 04 Python
python3获取当前文件的上一级目录实例
Apr 26 Python
python pytest进阶之conftest.py详解
Jun 27 Python
利用Python产生加密表和解密表的实现方法
Oct 15 Python
python argparser的具体使用
Nov 10 Python
win10从零安装配置pytorch全过程图文详解
May 08 Python
python从Oracle读取数据生成图表
Oct 14 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
Oct 21 Python
python 爬虫如何正确的使用cookie
Oct 27 Python
Pycharm安装第三方库失败解决方案
Nov 17 Python
python爬取2021猫眼票房字体加密实例
Feb 19 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 页面执行时间计算代码
2008/12/04 PHP
php中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
解析将多维数组转换为支持curl提交的一维数组格式
2013/07/08 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
ExtJS扩展 垂直tabLayout实现代码
2009/06/21 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
javascript从image转换为base64位编码的String
2014/07/29 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
2016/10/24 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
python学习数据结构实例代码
2015/05/11 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
python实现图片彩色转化为素描
2019/01/15 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
中学生评语大全
2014/04/18 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
导游词之南京中山陵
2019/11/27 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP