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上进行写操作。 通常在net
和http
层遇到,表示正在写入的stream的远程端已经closures。
当另一端终止连接时,蒸汽可能是pipe
或socket
。 这是一个运行时错误; 没有什么可以做的,但最后也要结束。
请检查您的程序是否有一个大文件或长包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