Node.js - events.js:154 throw err写EPIPE;程序崩溃

时间:2016-02-26 00:49:26

标签: javascript node.js 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中运行它以前有过。如果有任何我应该添加的内容,请告诉我。

3 个答案:

答案 0 :(得分:1)

引用doc

  

EPIPE:在管道,套接字或FIFO上写入,没有进程来读取数据。通常在nethttp层遇到,表示正在写入的流的远程端已关闭。

当另一端终止连接时,蒸汽可能是pipesocket。这是一个运行时错误;没有什么可以做,但也关闭你的目的。

请检查程序中是否有大文件或长 http包请求

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

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

答案 1 :(得分:0)

就我而言,问题在于question

中讨论的inotify观察者数量

这是original listen documentation

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

答案 2 :(得分:0)

安装 libfontconfig 可能会解决此问题。尝试从服务器下载PDF时遇到了相同的问题。而 libfontconfig 解决了该问题。

sudo apt-get install libfontconfig

注意:解决方案来源-> Error: write EPIPE