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

Node.js - events.js:154 throw err write EPIPE; Program Crashing

本文关键字:js EPIPE 程序 崩溃 错误 出错 事件 节点      更新时间:2023-09-26

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

引用文档

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

当另一端终止连接时,蒸汽可能会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