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

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

root4年前 (2021-01-19)linux915

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

分享给朋友:

相关文章

pycharm进行debug报错

pycharm进行debug报错

文件名不对,应该dubug模块有一个叫abc.py的文件换个名字正常运行...

nfs 服务搭建

https://blog.51cto.com/u_12965094/2788462 https://blog.csdn.net/weixin_44767040/article/details/124735520...

linux 服务器时间校准

Linux 时间矫正sudo ntpdate -u ntp.api.bz第一使用可能提示ntpdate没安装,用以下命令安装即可ubuntu系统sudo apt install ntpdatecent...

zabbix 中文乱码

zabbix 中文乱码

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

centos yum 找不到包

yum -y install epel-release安装依赖源...

sudo apt-get update会失败,修改主机的dns的地址和更换源

ping google.com 不同看本机的DNS配置信息是在:/etc/resolv.conf发现是保留ip修改直接vim /etc/resolv.conf写入:nameserver 8.8.8.8保存之后重启一下网络服务sud...