Node.js – events.js:154抛出err写入EPIPE; 程序崩溃

试图运行我的Node.js程序,这已经工作了很长时间,现在突然…不是。 我想弄清楚这个问题,我想如果我在这里贴出来试图追踪它会有帮助的。 这里是日志输出:

events.js:154 throw er; // Unhandled 'error' event ^ Error: write EPIPE at exports._errnoException (util.js:856:11) at WriteWrap.afterWrite (net.js:767:14) 

坦率地说,我不知道为什么它会抛出一个EPIPE错误,我检查了没有任何运行可能会干扰,它运行在一个完全相同的shell。 如果有什么我应该加上让我知道。

引用doc

EPIPE :在没有进程读取数据的pipe道,套接字或FIFO上进行写操作。 通常在nethttp层遇到,表示正在写入的stream的远程端已经closures。

当另一端终止连接时,蒸汽可能是pipesocket 。 这是一个运行时错误; 没有什么可以做的,但最后也要结束。

请检查您的程序是否有一个大文件或长包http请求

使用下面的代码可以使你的程序在这种情况下成功退出:

 process.stdout.on('error', function( err ) { if (err.code == "EPIPE") { process.exit(0); } }); 

就我而言,问题在于这个问题中讨论的inotify观察者的数量

这里是原始的听文件

 echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p