开发者社区> 技术小胖子> 正文

Python的问题解决: IOError: [Errno 32] Broken pipe

简介:
+关注继续查看

错误一:

遇到一个很奇怪的问题, web.py代码里面报错

1
IOError: [Errno 32] Broken pipe

启动命令: 

1
nohup python xxx.py >> xxx.log &

ssh登录到机器上, 启动, 不会出现

远程ssh执行启动脚本, 就会出现IOError问题


查看进程pid, ll /proc/<pid>/fd 发现, stderr也就是fd为2的文件, 竟然是个pipe, 是个broken pipe, 错误的地方找到了


猜测可能是ssh登录过去, nohup会redirect stderr, 默认重定向到stdout, 不过ssh会话的stdout应该是pipe, 因为需要把输出从远端机器回传到本机

nohup把stderr重定向到了这个pipe上, 当ssh会话结束时, pipe自然会被关闭, 这样当程序代码中往stderr里面写入东西的时候, 就会报错了


错误二:


针对以上问题单机执行时候,发现不再报错,但是为了一定的处理,前面使用nginx作为反向代理,结果又出现

1
IOError: [Errno 32] Broken pipe


通过F12 发现,post 加载某个js 文件超时,并出现504 Time-out

检查js文件没有问题,

回忆,之前没有使用nginx前,此问题已经解决,为何突然又出现,

经过资料查询,使用以上nginx 配置解决

应该是读取时间设置过短,导致超时:

1
2
3
4
5
location / {
            proxy_read_timeout 300;
            ......
            .....
           }

这种问题,让人蛋疼。



      本文转自crazy_charles 51CTO博客,原文链接:http://blog.51cto.com/douya/1836848,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
用python解决养兔子趣味问题
今天看到了一个很有趣的养兔子问题,决定尝试一下,各位大佬如果有其他思路,欢迎交流,在评论区写下你的想法哦!
188 0
帅到爆炸!使用管道 Pipe 编写 Python 代码竟如此简洁
众所周知,Pytnon 非常擅长处理数据,尤其是后期数据的清洗工作。今天派森酱就给大家介绍一款处理数据的神器 Pipe。
116 0
Python遇到的问题:IndentationError: expected an indented block
Python遇到的问题:IndentationError: expected an indented block
76 0
python: not found 问题的解决
python: not found 问题的解决
463 0
Python—Python 问题
离线安装库
68 0
Python热门问题及解决方法
Python热门问题及解决方法,转自阿里云开发者问答,大家有问题可以移步阿里云问答模块:https://developer.aliyun.com/ask/ Python字符串比较最小/最大strhttps://yq.
3286 0
Python面试中一些常见的问题及其答案
Q 1:Python 有哪些特点和优点? 作为一门编程入门语言,Python 主要有以下特点和优点: ● 可解释● 具有动态特性● 面向对象● 简明简单● 开源● 具有强大的社区支持当然,实际上 Python 的优点远不止如此,可以阅读该文档,详细了解: https://data-flair.training/blogs/python-tutorial/ Q 2:深拷贝和浅拷贝之间的区别是什么? 答:深拷贝就是将一个对象拷贝到另一个对象中,这意味着如果你对一个对象的拷贝做出改变时,不会影响原对象。
1766 0
+关注
技术小胖子
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
双剑合璧-Python和大数据计算平台的结合
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多