代码之家  ›  专栏  ›  技术社区  ›  gmemstr

节点。js-事件。js:154抛出错误写入EPIPE;程序崩溃

  •  8
  • gmemstr  · 技术社区  · 9 年前

    正在尝试运行我的节点。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错误,我已经检查过没有任何可能干扰的运行,并且它运行在与以前完全相同的外壳中。如果我需要补充什么,请告诉我。

    3 回复  |  直到 9 年前
        1
  •  6
  •   zangw    9 年前

    报价 doc

    EPIPE :在管道、套接字或FIFO上的一种写入,没有进程读取数据。常见于 net http 层,表示正在写入的流的远程侧已关闭。

    蒸汽可能是 pipe socket 当另一端终止连接时。这是一个运行时错误;除了结束你的生活,你别无选择。

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

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

    process.stdout.on('error', function( err ) {
        if (err.code == "EPIPE") {
            process.exit(0);
        }
    });
    
        2
  •  1
  •   Community CDub    8 年前

    在我的例子中,问题在于本文中讨论的inotify观察者的数量 question

    这是 original listen documentation

    echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
    
        3
  •  -3
  •   Samiul    5 年前

    正在安装 库字体配置 也许可以解决这个问题。我在尝试从服务器下载PDF时遇到了同样的问题。和 库字体配置 解决了问题。

    sudo apt-get install libfontconfig
    

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