表现

使用 python 的 subprocess.Popen 调用脚本时,发现虽然设置了直接返回状态码,不必等待脚本执行完毕,但依然会有很慢的情况出现,经过排查,发现原因在于fd被多个子进程同时继承导致的。在存在并发的时候, Popen中创建的pipe没有被关闭, 导致父进程认为子进程还没启动成功而一直阻塞。

解决方案

Popen时加上close_fds=True, 保证fd不会被多个子进程继承。

proc = subprocess.Popen(cmd,close_fds=True, ...)

subprocess.Popen 调用缓慢相关推荐

  1. python subprocess.Popen 使用简介

    目录 一.subprocess.Popen 二.subprocess.PIPE 三.相关的函数 四.其他实例 从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进 ...

  2. linux中popen汉字乱码,Python中使用subprocess.Popen返回值乱码解决方案

    Python中使用subprocess.Popen返回值乱码解决方案 问题描述 在python 2.7中,使用subprocess.Popen()调用*nix命令,并通过管道,获取其输出,并将其返回值 ...

  3. python中的subprocess.Popen()使用详解---以及注意的问题(死锁)

    从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值. subprocess意在替代其他几个老的模块或者函数 ...

  4. python运行系统找不到指定文件_“系统无法找到指定的文件”当调用Python中的subprocess.Popen...

    我试图使用svnmerge.py来合并一些文件.底下它使用python,当我使用它时,我得到一个错误 - "系统找不到指定的文件".工作中的同事正在运行相同版本的svnmerge. ...

  5. python popen阻塞_对Python subprocess.Popen子进程管道阻塞详解

    问题产生描述 使用子进程处理一个大的日志文件,并对文件进行分析查询,需要等待子进程执行的输出结果,进行下一步处理. 出问题的代码 # 启用子进程执行外部shell命令 def __subprocess ...

  6. windows popen 获取不到输出_彻底明白os.system、os.popen、subprocess.popen的用法和区别...

    Hello,大家好,沉寂许久,我又来了,这次给大家分享的就是上述三个方法的使用范围和区别,不熟悉的可以在这个地方画一个圆满的句号了. os.system 首先来看这个函数的文档说明 是说是在一个子sh ...

  7. python利用管道popen调用.exe进行交互

    python是典型的胶水语言,可以来做粘合复杂程序的应用,在终端上可以随意地组合他和其它程序,作为一个中间处理模块. python可以利用subprocess这个模块来产生子进程,并连接到子进程的标准 ...

  8. python subprocess Popen

    转载 http://blog.163.com/yi_yixinyiyi/blog/static/136286889201152234037495/ 2011-06-22 15:40:37|  分类:  ...

  9. python中popen转变时区_python中的subprocess.Popen()使用

    从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值. subprocess意在替代其他几个老的模块或者函数 ...

最新文章

  1. 【Boost】noncopyable:不可拷贝
  2. Parser Generator Tips翻译(中英对译) by Joshua Xu
  3. Xcode(7.0以上版本)真机调试
  4. 照亮云备份的“钱”途
  5. 【最新合集】编译原理习题(含答案)_8-10语法制导翻译_MOOC慕课 哈工大陈鄞
  6. Android 关于在Activity中监听ListView
  7. SQL模糊查询特殊符号应用及详细案例说明
  8. TCMalloc小记【转】
  9. c# npoi 打开已经存在excel_用了这个jupyter插件,我已经半个月没打开过excel了
  10. (转)DPDK内存管理 04 ---- rte_malloc内存管理
  11. 2018年强势推荐区块链产品项目:流量魔盒详细操作攻略
  12. Python 蓝凌OA任意文件读取批量扫描 poc编写
  13. android 仿ios动画效果代码,Android仿IOS上拉下拉弹性效果的实例代码
  14. php相册排版,照片拼图在线制作 自带多种照片拼图模板,自由排版将多张照片合成一张...
  15. Canny算法中的非极大值抑制
  16. 电脑手柄,Windows7电脑游戏手柄怎么设置?
  17. 程序员面试笔试宝典学习记录(一)(常见面试笔试题目)
  18. 2021年N1叉车司机模拟考试及N1叉车司机证考试
  19. MFC中CPropertySheet与CTabCtrl的使用
  20. 谁是中国的制造业超级城市?中国城市制造业辐射力排名:深圳、苏州、东莞、上海、宁波位居前五 | 美通社头条...

热门文章

  1. 学者的样子,读《不发表,就出局》
  2. Siamese network总结
  3. 小伙为挽回女友雨雪中跪地6小时
  4. 类似instagram图片分享社区数据库设计
  5. CAD输入法智能插件-键盘侠
  6. 搭建实验室3d slam 镭神ch128x1 128线混合固态激光雷达lego-loam建图
  7. java splash screen_Java splash screen
  8. ShopNum1网店系统:组建电子商务运营团队
  9. Java开发笔记(二)
  10. php爬虫实战(抓取美拍视频)