【转】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
转载于:https://www.cnblogs.com/hester/p/7641258.html
【转】python os.popen 超时问题相关推荐
- python os popen_【转】python os.popen 超时问题
python 版本 2.5.4 (在高版本python中提倡使用 subprocess.Popen 取代 os.popen) os.popen 会出现过长时间等待导致阻塞问题, 解决方法如下: [py ...
- python os.popen()方法(用于从一个命令打开一个管道)
描述 os.popen() 方法用于从一个命令打开一个管道. 在Unix,Windows中有效 os.popen(command[, mode[, bufsize]]) command -- 使用的命 ...
- python os.popen.readlines异常_python中执行sed命令操作源文件时出现错误
我想在python中执行一个sed命令,第一种方法直接指定文件时,可以正确输出结果,但是第二种我打开文件操作的时候就有问题,不知道什么原因,求高手解答?(1)>>>sedcmd=&q ...
- python os.popen.readlines异常_python之read,readline,readlines区别
一个例子展示这三者区别qd_cpu_str=os.popen(r" ps -ef|grep QD|grep -v grep|grep -v cpu|awk '{print $10','$2' ...
- python os.popen 提示 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte illegal multibyte sequence
原有代码如下: def run_silently(cmd: str) -> str:"""返回系统命令的执行结果"""with os. ...
- python os popen_Python os.popen() 方法
Python os.popen() 方法 概述 os.popen() 方法用于从一个命令打开一个管道. 在Unix,Windows中有效 语法 popen()方法语法格式如下: os.popen(co ...
- os.system() 和 os.popen()
1.os.popen(command[, mode[, bufsize]]) os.system(command) 2.os.popen() 功能强于os.system() , os.popen() ...
- python os system用法_Python调用系统命令os.system()和os.popen()的实现
作为一门脚本语言,写脚本时执行系统命令可以说很常见了,python提供了相关的模块和方法. os模块提供了访问操作系统服务的功能,由于涉及到操作系统,它包含的内容比较多,这里只说system和pope ...
- python sys.exit_Python程序退出方式(sys.exit() os._exit() os.kill() os.popen(...))
对于如何结束一个Python程序或者用Python操作去结束一个进程等,Python本身给出了好几种方法,而这些方式也存在着一些区别,对相关的几种方法看了并实践了下,同时也记录下. 参考: Pytho ...
最新文章
- python with上下文管理
- azure多功能成像好用吗_如何使用Azure功能处理高吞吐量消息
- 【C++】利用构造函数对类对象进行初始化
- python集合(set)+常见方法+交叉并补
- Face++印奇:从无人问津到融资4.6亿美金|纪录影片
- 企业架构 - 组织角色和技能
- golang——net/rpc包学习
- 9行代码AC——1011 A+B 和 C (15分)
- MySQL的explain工具介绍
- LeetCode 945. 使数组唯一的最小增量(贪心)
- 计算机复试上机辅导班,软件工程考研辅导班:考研院校2020年计算机/软件工程复试经验总结...
- 【重识 HTML + CSS】背景相关知识点
- svn回退到上一个版本_Git汇总--对象及版本库存储
- Redis常用管理脚本
- Linux 软件包管理器 rpm
- 游戏开发unity资源管理系列:查看AssetBundle的工具-AssetStudio
- 纯前端集成视频会议和聊天室
- 浮点数I-EEE规范
- html标签和css参数
- 属性加密技术及基于属性的访问控制技术