解决大量调用Python subprocess.Popen产生的一些bug
来源:互联网 发布:mac向移动硬盘拷贝 编辑:程序博客网 时间:2024/05/21 17:34
转自 :http://blog.csdn.net/pugongying1988/article/details/54616797
自从工作了就好久没发博客,还是出来冒个泡=。=
前段时间写的一个项目需要用python的subprocess.Popen大量调用某shell命令,运行到一定量级之后就会产生内存溢出,造成大量线程阻塞,然后就会造成([Errno 24] Too many open files)这个异常。
网上有人说是close_fds=True这个参数在python2.x默认没打开,这个参数可以关闭文件描述符,试了没有作用。
后来在国外某个人的帖子找到了和我类似的问题,解决办法就是执行后把stdin,stdout,stderr3个流进行清空即可。
结合网上的资料,写了一个可以自定义超时时间调用subprocess.Popen执行shell命令的函数(自定义超时为了避免某些shell卡死的情况),用这个函数去调用subprocess.Popen就不会产生上面这些问题了。
阅读全文
0 0
- 解决大量调用Python subprocess.Popen产生的一些bug
- 解决大量调用Python subprocess.Popen产生的一些bug
- 解决大量调用Python subprocess.Popen产生的一些bug
- Python用subprocess的Popen来调用系统命令
- Python用subprocess的Popen来调用系统命令
- Python用subprocess的Popen来调用系统命令
- Python用subprocess的Popen来调用系统命令
- Python用subprocess的Popen来调用系统命令
- Python用subprocess的Popen来调用系统命令
- Python用subprocess的Popen来调用系统命令
- Python用subprocess的Popen来调用系统命令
- 关于python subprocess的popen
- python 使用 subprocess.Popen() 调用子进程
- Python subprocess Popen 的一点说明
- python 的 subprocess模块用法 popen
- python 的 subprocess模块用法 popen
- python 的 subprocess模块用法 popen
- python 的 subprocess模块用法 popen
- android studio使用junit单元测试及获取代码覆盖率
- RxJava实现响应式编程(Reactive Programming with RxJava)
- iOS AF上传文件 minetype所有类型
- 京东购物车
- 谷歌浏览器安装firebug lite插件(轻量级不支持JavaScript调试)
- 解决大量调用Python subprocess.Popen产生的一些bug
- 路由小案例
- 第12周 【项目4 拓扑排序算法验证】
- 你所需要的登录注册
- TabLayout横向滚动
- 对编辑器或蓝图公开属性(变量)和功能(函数)
- 感悟
- 《剑指offer》刷题笔记(字符串):表示数值的字符串
- 【智能金融】平安银行零售科技CTO:AI研发之路的「二三五」原则