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

遇到一个很奇怪的问题, web.py代码里面报错IOError: [Errno 32] Broken pipe

启动命令: 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里面写入东西的时候, 就会报错了

希望对遇到类似问题的人有帮助, 这个问题卡了我四个小时.
时间: 2024-10-10 00:03:10

Python的问题解决: IOError: [Errno 32] Broken pipe的相关文章

PHP系列 | PDO::prepare(): send of 68 bytes failed with errno=32 Broken pipe

cli 模式报错 [2019-11-20T14:33:25+08:00][ error ] [8]PDO::prepare(): send of 68 bytes failed with errno=32 Broken pipe error 相关代码 class RedisSubscribe { public function subscribe() { $redis = BaseRedis::plocal(); $redis->setOption(\Redis::OPT_READ_TIMEOU

ERROR: openstack Error finding address for http://10.16.37.215:9292/v1/images: [Errno 32] Broken pipe

Try to set: no_proxy=10.16.37.215 this should help 转自: http://askubuntu.com/questions/575938/error-in-devstack-installing-on-ubuntu

hive使用python脚本导致java.io.IOException: Broken pipe异常退出

反垃圾rd那边有一个hql,在执行过程中出现错误退出,报java.io.IOException: Broken pipe异常,hql中使用到了python脚本,hql和python脚本近期没有人改过,在10.1号时还运行正常,但是在10.4号之后运行就老是出现相同的错误,而且错误出现在stage-2的reduce阶段,gateway上面的错误提示如下: 2014-10-10 15:05:32,724 Stage-2 map = 100%, reduce = 100% Ended Job = jo

PHP Rabbitmq 报错Broken pipe

fwrite(): send of 13 bytes failed with errno=32 Broken pipe fwrite(): send of 21 bytes failed with errno=104 Connection reset by peer 用 rabbitmq 做消息队列时报上面的错误,当消费队列一启动,Unacked 瞬间达到好几百.经查:RabbitMQ服务器在短时间内发送大量的消息给Consumer,如果你没有来得及Ack的话,那么服务端会积压大量的UnAcke

TNS-12518 &amp; Linux Error:32:Broken pipe

最近一周,有一台ORACLE数据库服务器的监听服务在凌晨2点过几分的时间点突然崩溃,以前从没有出现过此类情况,但是最近一周出现了两次这种情况,检查时发现了如下一些信息: $ lsnrctl services   LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 12-DEC-2014 08:22:34   Copyright (c) 1991, 2007, Oracle.  All rights reserved.   Connectin

Python IOError: [Errno 22] invalid mode (&#39;r&#39;) 解决方法

O'Reilly出版的Wes McKinney编的<Python for Data Analysis> 本人使用工具: PyCharm 2016.3.2 rnames =['user_id','movie_id','rating','time_cd'] ratings = pd.read_table('data\ml-1m\ratings.dat',sep='::',header=None,names=rnames) 报错信息如下: 原因:\ratings.dat 中的 "\r&qu

Hive中使用Python实现Transform时遇到Broken pipe错误排查

Hive中有一表,列分隔符为冒号(:),有一列utime是Timestamp格式,需要转成Weekday存到新表. 利用Python写一个Pipeline的Transform,weekday.py的代码也很简单: import sys import datetime for line in sys.stdin: line=line.strip() uid,mid,rating,utime=line.split(':') weekday=datetime.datetime.fromtimestam

【Python】按行读取文件、IOError: [Errno 22] invalid mode (&#39;a+&#39;) or filename,处理文件的换行符

Python一次性读取文件的所有内容在<[Python]文件读写操作>(点击打开链接)中已经说明过的,但有些时候,需要对文件中的每一行进行处理. 比如有一个f:\1.txt如下: 此时,如果要按行读取这个文件,可以直接利用Pyhon的for循环来读取,其中for的对象是这个文件指针,代码如下: file_path="f:\\a.txt" fp=open(file_path,"a+"); for eachline in fp: print eachline

IOError: [Errno 22] invalid mode (&#39;rb&#39;) or filename: ’\u202a’ / &#39;\xe2\x80\xaa’

p = u'' + r'?C:\Users\Administrator\Desktop\222.txt' python 读取文件报错:IOError: [Errno 22] invalid mode ('rb') or filename: u'\u202aC:\\Users\\Administrator\\Desktop\\222.txt' 明明已经 加了r 不转义,还是报错. 仔细看,比正常路径多了 \u202a '\xe2\x80\xaa'.decode('utf-8')Out: u'\u2