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 超时问题相关推荐

  1. python os popen_【转】python os.popen 超时问题

    python 版本 2.5.4 (在高版本python中提倡使用 subprocess.Popen 取代 os.popen) os.popen 会出现过长时间等待导致阻塞问题, 解决方法如下: [py ...

  2. python os.popen()方法(用于从一个命令打开一个管道)

    描述 os.popen() 方法用于从一个命令打开一个管道. 在Unix,Windows中有效 os.popen(command[, mode[, bufsize]]) command -- 使用的命 ...

  3. python os.popen.readlines异常_python中执行sed命令操作源文件时出现错误

    我想在python中执行一个sed命令,第一种方法直接指定文件时,可以正确输出结果,但是第二种我打开文件操作的时候就有问题,不知道什么原因,求高手解答?(1)>>>sedcmd=&q ...

  4. 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' ...

  5. python os.popen 提示 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte illegal multibyte sequence

    原有代码如下: def run_silently(cmd: str) -> str:"""返回系统命令的执行结果"""with os. ...

  6. python os popen_Python os.popen() 方法

    Python os.popen() 方法 概述 os.popen() 方法用于从一个命令打开一个管道. 在Unix,Windows中有效 语法 popen()方法语法格式如下: os.popen(co ...

  7. os.system() 和 os.popen()

    1.os.popen(command[, mode[, bufsize]]) os.system(command) 2.os.popen() 功能强于os.system() , os.popen() ...

  8. python os system用法_Python调用系统命令os.system()和os.popen()的实现

    作为一门脚本语言,写脚本时执行系统命令可以说很常见了,python提供了相关的模块和方法. os模块提供了访问操作系统服务的功能,由于涉及到操作系统,它包含的内容比较多,这里只说system和pope ...

  9. python sys.exit_Python程序退出方式(sys.exit() os._exit() os.kill() os.popen(...))

    对于如何结束一个Python程序或者用Python操作去结束一个进程等,Python本身给出了好几种方法,而这些方式也存在着一些区别,对相关的几种方法看了并实践了下,同时也记录下. 参考: Pytho ...

最新文章

  1. python with上下文管理
  2. azure多功能成像好用吗_如何使用Azure功能处理高吞吐量消息
  3. 【C++】利用构造函数对类对象进行初始化
  4. python集合(set)+常见方法+交叉并补
  5. Face++印奇:从无人问津到融资4.6亿美金|纪录影片
  6. 企业架构 - 组织角色和技能
  7. golang——net/rpc包学习
  8. 9行代码AC——1011 A+B 和 C (15分)
  9. MySQL的explain工具介绍
  10. LeetCode 945. 使数组唯一的最小增量(贪心)
  11. 计算机复试上机辅导班,软件工程考研辅导班:考研院校2020年计算机/软件工程复试经验总结...
  12. 【重识 HTML + CSS】背景相关知识点
  13. svn回退到上一个版本_Git汇总--对象及版本库存储
  14. Redis常用管理脚本
  15. Linux 软件包管理器 rpm
  16. 游戏开发unity资源管理系列:查看AssetBundle的工具-AssetStudio
  17. 纯前端集成视频会议和聊天室
  18. 浮点数I-EEE规范
  19. html标签和css参数
  20. 属性加密技术及基于属性的访问控制技术

热门文章

  1. vue-cli 该如何正确打包iconfont?
  2. Swift基础语法: 23 - Swift的Trailing闭包, 捕获, 闭包是引用类型
  3. 建立索引为什么能加快查询速度 【转】
  4. Android 源代码下载
  5. DataSet.GetBookMark内存泄漏
  6. android上实现0.5px线条
  7. xcode高版本常见的RN本地启动报错
  8. Linux服务器部署常用命令
  9. JavaScript学习(三十七)—实现右键自定义菜单的功能
  10. python可以开多少线程_python爬虫可以开多少线程?