@H_502_2@前言
在Python2.x中的几个用来执行命令行的库或函数在执行命令是均不能设置一个命令执行的超时时间,用来在命令执行时间超时时终端这个命令的执行,这个功能在3.x(?)中解决了,但是在2.x还是只能自己实现。下面话不多说了,来一起看看详细的介绍吧。
@H_502_2@下面就简单实现了一个版本:
import subprocessfrom threading import Timerdef 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()
@H_502_2@测试
print call(['hostname'],2)print call(['Ping','www.baIDu.com'],2)
@H_502_2@总结
以上就是这篇文章的全部内容了,本文还有许多不足,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。
总结以上是内存溢出为你收集整理的Python 2.x如何设置命令执行的超时时间实例全部内容,希望文章能够帮你解决Python 2.x如何设置命令执行的超时时间实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)