python os popen_【转】python os.popen 超时问题
python 版本 2.5.4 (在高版本python中提倡使用 subprocess.Popen 取代 os.popen)
os.popen 会出现过长时间等待导致阻塞问题, 解决方法如下:
[python] view plain copy print?
def TIMEOUT_COMMAND(command, timeout):
"""call shell-command and either return its output or kill it
if it doesn't normally exit within timeout seconds and return None"""
import subprocess, datetime, os, time, signal
cmd = command.split(" ")
start = datetime.datetime.now()
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
while process.poll() is None:
time.sleep(0.2)
now = datetime.datetime.now()
if (now - start).seconds> timeout:
os.kill(process.pid, signal.SIGKILL)
os.waitpid(-1, os.WNOHANG)
return None
return process.stdout.readlines()
原文出自:http://blog.csdn.net/cenziboy/article/details/8298844
python os popen_【转】python os.popen 超时问题相关推荐
- python调用Shell脚本:os.system(cmd)或os.popen(cmd),
python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容.实际使用时视需求情况而选择. ...
- python操作系统接口错误_Python os模块和sys模块 操作系统的各种接口
'''os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.c ...
- (转载)python调用shell命令之os 、commands、subprocess
linux系统下进入python交互式环境: 一.os 模块 1.1.os模块的exec方法簇: python交互界面中: In [1]: import osIn [2]: os.exec os.ex ...
- python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块...
一. collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:namedtuple.deque.Counte ...
- Python初级第2课——os模块(只读课堂)
欢迎来到"只读课堂"! 这个模块和文件操作一样,使用它,可以与我们当前的系统进行交互. OS模块简单介绍 os模块主要有以下几种:posix(适用于unix操作系统) nt(win ...
- Python标准库中的os模块
Python的标准库中的os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux ...
- Python常用模块2-Python的OS及errno模块
文章目录 一.Python OS及errno模块简介 1.1 OS模块介绍 1.2 errno模块 二.Python的OS及errno模块实操 参考 一.Python OS及errno模块简介 以下整 ...
- python getostime_python中sys,os,time模块的使用(包括时间格式的各种转换)
sys模块 sys.argv: 实现从程序外部向程序传递参数. 位置参数argv[0]代表py文件本身,运行方法 python xx.py 参数1,参数2 .. self = sys.argv[0] ...
- python中import os_python import os
OS相关 import os 可以用help(os); dir(os)查看 os.sep 可以取代操作系统特定的路径分割符. os.name字符串指示你正在使用的平台.比如对于Windows,它是'n ...
- python split(), os.path.split()和os.path.splitext()函数的区别
python split(), os.path.split()和os.path.splitext()函数的区别 文章目录: 1. split() 2. os.path.split() 3. os.pa ...
最新文章
- [持续更新][小工具]计算器
- struts2 hibernate登录
- 华为RH2288V3服务器部署指南
- bash 2_quantize.sh遇到错误2_quantize.sh: line 7: 29380 Segmentation fault解决方法
- linux恢复终端默认配置,以gnome-terminal为例,修改gnome3 的默认配置,
- php7 fastcgi安装,安装windows 下 php7+nginx+fastcgi
- ssis修改数据库数据_SSIS平衡数据分配器概述
- Flutter进阶—质感设计之弹出菜单
- jmeter 连接 sqlite 进行压力测试
- 程序人生,程序猿要把编程一直学习下去吗?
- windows下OpenCV扩展模块(Extra Contrib)配置时的“Invalid escape sequence \o“解决方法
- ubuntu 16.04外接显示屏问题
- python文件打开模式rb表示以只读模式打开文件_【Python】python文件打开方式详解——a、a+、r+、w+、rb、rt区别
- 网站服务器iis7.5配置,IIS 7.5 配置伪静态
- NLP会议介绍 2019
- 如何在win7 64下安装ipython notebook
- Win7多用户下开机只显示一个用户
- 【三石jQuery视频教程】03.创建垂直时间表(Timeline)
- 好看无边框网站通用的文字源码 广告代码
- Play框架最快上手!
热门文章
- openwt dns 解析部分域名出错问题。
- 矩形法求定积分c语言流程图,矩形法求定积分其程序与程序框图的实现.doc
- 表情识别------CNN训练fer2013数据集
- 知网CAJ论文 如何转换成pdf
- python画图颜色填充_【Python】Matplotlib画图(十一)——箱线图
- 步进电机c语言驱动原理,《步进电机【驱动电路+C语言驱动程序】》.doc
- js判断两个时间是否超过一年
- java网课|等待与唤醒线程池
- c语言程序压缩解压缩文件夹,【转】使用VC++压缩解压缩文件夹
- 31. Git与Github