当前位置:首页 > linux > 正文内容

Python2 的Popen在docker中执行会挂起主进程

root6年前 (2021-01-19)linux1957

python2.7

因业务需求。要把程序放入到docker容器中

但是在docker执行的时候程序出现异常缓慢的情况

检查函数执行情况发现

当第一个线程执行到popen的时候会导致所有线程的挂起

p1 = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)


原因是py2的bug

类似问题

解决方案 pip install subprocess32 

替代subprocess

p1 = subprocess.Popen32(command, shell=True, stdout=subprocess32.PIPE, stderr=subprocess32.STDOUT, close_fds=True)


https://bugs.python.org/issue42950

能使用py3还是使用py3吧

扫描二维码推送至手机访问。

版权声明:本文由一叶知秋发布,如需转载请注明出处。

本文链接:https://zhiqiu.top/?id=73

分享给朋友:

相关文章

linux   挂载盘

linux 挂载盘

sudo  fdisk -l :列出所有分区信息;找到自己插入到linux系统的硬盘上图从众多盘中找到自己的 看type 和大小。/dev/sdb 是盘的名字/dev/sdb4  是分区接下来是挂载s...

zabbix 中文乱码

zabbix 中文乱码

原因是因为zabbix没有支持中文的字体,在win找到一个中文字体文件名是:simkai.ttf把这个文件复制到服务器的/usr/share/zabbix/fonts  路径下然后修改zabbix的配置文件vim /us...

服务查看启动

服务启动、停止和重启service   xxx  start  service   xxx  stopservice   xxx ...

实用的linux命令

查看命令运行的实时结果watch  "ls |wc -l" 能够实时的监控命令执行的结果,不过刷新时间有点长,大概2秒,可以修改为1秒iftop查看出入网流量情况nload实时查看出入网流量情况fre...

修改系统server文件需要加载一下配置

vim /usr/lib/systemd/system/*.service修改了server的配置需要执行一下systemctl daemon-reload让系统重新加载以下配置,尤其是server中的配置地址更换了分区...

curl 的请求 和几个参数

-X [POST GET PUT DELETE]参数执行http请求的方法-d参数用于发送post的请求的数据体$curl -d'login=emma&password=123'-X POST https://google....