前言

在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 2.x如何设置命令执行的超时时间实例相关推荐

  1. python怎么设置代码执行时间_python 代码运行时间获取方式详解

    我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间.这里将介绍四种常用的测试代码运行速度的方法. 第一种:使用time模 ...

  2. python的函数代码块_Python从菜鸟到高手(8):print函数、赋值与代码块

    1.神奇的print函数 print函数相信读者一定对它不陌生,因为在前面的章节,几乎每个例子都使用了print函数,这个函数的功能就是在控制台输出文本.不过print在输出文本时还可以进行一些设置, ...

  3. python乘法表代码注释_Python统计python文件中代码,注释及空白对应的行数示例【测试可用】...

    本文实例讲述了Python实现统计python文件中代码,注释及空白对应的行数.分享给大家供大家参考,具体如下: 其实代码和空白行很好统计,难点是注释行 python中的注释分为以#开头的单行注释 或 ...

  4. python线程安全的计数器_Python多线程同步Lock、RLock、Semaphore、Event实例

    一.多线程同步 由于CPython的python解释器在单线程模式下执行,所以导致python的多线程在很多的时候并不能很好地发挥多核cpu的资源.大部分情况都推荐使用多进程. python的多线程的 ...

  5. AndroidStudio设置代码自动提示以及字体大小设置

    我的Studio版本是3.14是按照我版本设置的. 一.设置字体大小 File--->Settings--->Editor--->font--->size   如下图示 二.设 ...

  6. python中的 怎么用_Python中如何调用Linux命令

    一.使用os模块 In [1]: import os #导入os模块 In [2]: os.system('ls') anaconda-ks.cfg epel-release-7-5.noarch.r ...

  7. java session时间_java session时长问题,java设置session超时时间实例

    java session超时设置你知道应该如何设置吗?下面要给大家带来的实例就是和java设置session超时时间相关的内容,一起来看看具体实现方式吧. 一般的系统登陆了之后,都会有设置一个当前的s ...

  8. python词云代码简单_Python 简单实现标签词云

    基于Python的词云生成类库,很好用,而且功能强大.博主个人比较推荐 github:https://github.com/amueller/word_cloud 官方地址:https://amuel ...

  9. python软件设置代码字体的大小_Pycharm4.5设置字体大小以及背景颜色的方法

    Pycharm4.5是一款非常强大的Python代码编辑器,其具备了易于上手.功能强大等特点,深受广大开发人员的青睐,而在使用的过程中,我们常常需要设置字体的大小以及背景颜色等参数,从而能够为用户带来 ...

最新文章

  1. 测试半桥电路 TPS28225,NCP3420驱动MOS半桥
  2. 【云计算】云计算从业者导学
  3. 接口方法和映射器的statement id 是怎么绑定起来的?
  4. List,Set和Map详解及其区别和他们分别适用的场景
  5. PAT乙级(1024 科学计数法)
  6. 排序算法之——插入排序分析
  7. 【开源组件】记住:不要在MySQL中使用UTF-8
  8. python b站弹幕分析_Python获取B站视频弹幕 简单处理
  9. 双系统装完只能u盘启动_安装双系统后没有双系统启动菜单怎么办?双系统启动菜单修复教程...
  10. springboot 使用 Spring Boot WebSocket 创建聊天室 2-11
  11. 深入理解散列函数和散列表
  12. 1000个手工绘制污渍笔刷
  13. 用xcode编译c++代码
  14. 苹果疑似抄袭小米和锤子,其实这几年它一直都在模仿安卓
  15. 提醒软件如何设置语音提醒功能?
  16. 华为交换机密码忘记怎么办
  17. C语言程序之经典习题:给出一百分制成绩,要求输出成绩等级‘A‘B ‘C‘D‘E ‘,90 分以上为‘A”,80~89 分为‘B‘,70~79 分为‘C‘,60~69 分为‘D‘,60 分以下为‘E‘
  18. Python入门(三)--- 元组,字典,集合
  19. 【总结】前端会用到的各种链接
  20. 申宝股票-新能源股大跌

热门文章

  1. 你所不知道的getResource()在maven下的黑洞!
  2. Vue009_过渡动画
  3. NoSuchMethodError 发生原因和解决办法
  4. Flink 能够改写成 FlinkSQL的理论依据:命令式代码 vs 声明式代码
  5. 《FlaskWeb开发:基于Python的Web应用开发实战》笔记
  6. apollo 配置中心_apollo-1:apollo配置中心单机模拟分布式部署
  7. Spring基础篇——Spring容器和应用上下文理解
  8. 13.multi_search_api
  9. 15.concurrent-control并发控制
  10. VS2019正确创建C++步骤以及扩展插件美化你的VS2019的IDE开发环境