6

试图运行我的 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 中。如果有什么我应该添加的,请告诉我。

4

3 回答 3

5

报价

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

蒸汽可能是pipesocket当另一端终止连接时。这是一个运行时错误;除了结束你的结局之外,你无能为力。

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

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

process.stdout.on('error', function( err ) {
    if (err.code == "EPIPE") {
        process.exit(0);
    }
});
于 2016-02-26T01:19:49.360 回答
1

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

这是原始的监听文档

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
于 2016-02-26T18:24:19.637 回答
-2

安装libfontconfig可能会解决此问题。当我尝试从服务器下载 PDF 时遇到了同样的问题。libfontconfig解决了这个问题

sudo apt-get install libfontconfig

注意:解决方案来源->错误:写EPIPE

于 2020-03-22T16:06:27.890 回答