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

root3个月前服务器28

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吧

相关文章

Cannot uninstall 'ipaddress'. It is a distutils installed project and thus

强制升级:sudo pip install --ignore-installed +模块名...

ssh自动添加hostkey到know_hosts

有时后端daemon或者脚本在执行ssh连接时,会遇到以下提示:The authenticity of host 'git.sws.com (10.42.1.88)' can...

修改linux时区

ubuntu:rm  /etc/localtimeln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtimecent...

设置linux时间自动同步世界标准时间

因为主机时间没有自动同步有9.8s的误差。导致了出现负时间的问题首先手动校准时间ntpdate cn.pool.ntp.org开启时间自动更新服务systemctl start ntpd查看服务状态s...

服务查看启动

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

python安装的时候出现python setup.py egg_info Check the logs for full command output

python安装的时候出现python setup.py egg_info Check the logs for full command output

解决yum install python2-develpip install --upgrade setuptools...