Node.js NodeJS终止错误的差异

Node.js NodeJS终止错误的差异,node.js,npm,error-handling,Node.js,Npm,Error Handling,我有一个在后台运行的NodeJS服务器,我从以下开始: NODE_ENV=production npm start >> stdout.txt 2>> stderr.txt & 当我用以下命令重新启动时: kill <node process id>; NODE_ENV=production npm start >> stdout.txt 2>> stderr.txt & kill;NODE_ENV=生产npm开

我有一个在后台运行的NodeJS服务器,我从以下开始:

NODE_ENV=production npm start  >> stdout.txt 2>> stderr.txt &
当我用以下命令重新启动时:

kill <node process id>; NODE_ENV=production npm start  >> stdout.txt 2>> stderr.txt &
kill;NODE_ENV=生产npm开始>>stdout.txt 2>>stderr.txt&
我有时会在日志中看到一个很长的错误:

/opt/bitnami/nodejs/bin/.node.bin[8878]: ../src/node.cc:663:void node::ResetStdio(): Assertion `(0) == (err)' failed. 1: 0x9ef190 node::Abort() [/opt/bitnami/nodejs/bin/.node.bin] 2: 0x9ef217 [/opt/bitnami/nodejs/bin/.node.bin] 3: 0x9bd657 node::ResetStdio() [/opt/bitnami/nodejs/bin/.node.bin] 4: 0x9bd6c0 node::SignalExit(int) [/opt/bitnami/nodejs/bin/.node.bin] 5: 0x7fca6718e390 [/lib/x86_64-linux-gnu/libpthread.so.0] 6: 0x7fca66ebaad3 epoll_wait [/lib/x86_64-linux-gnu/libc.so.6] 7: 0x13200b0 [/opt/bitnami/nodejs/bin/.node.bin] 8: 0x130e26b uv_run [/opt/bitnami/nodejs/bin/.node.bin] 9: 0xa31ec3 node::NodeMainInstance::Run() [/opt/bitnami/nodejs/bin/.node.bin] 10: 0x9c1cc8 node::Start(int, char**) [/opt/bitnami/nodejs/bin/.node.bin] 11: 0x7fca66dd3840 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6] 12: 0x95c085 [/opt/bitnami/nodejs/bin/.node.bin] Aborted (core dumped) npm ERR! code ELIFECYCLE npm ERR! errno 134 npm ERR! App@0.0.1 start: `node app.js` npm ERR! Exit status 134 npm ERR! npm ERR! Failed at the App@0.0.1 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/bitnami/.npm/_logs/2020-12-17T21_05_41_838Z-debug.log npm[8862]: ../src/node.cc:663:void node::ResetStdio(): Assertion `(0) == (err)' failed. 1: 0x9ef190 node::Abort() [npm] 2: 0x9ef217 [npm] 3: 0x9bd657 node::ResetStdio() [npm] 4: 0x7fd18c8c7008 [/lib/x86_64-linux-gnu/libc.so.6] 5: 0x7fd18c8c7055 [/lib/x86_64-linux-gnu/libc.so.6] 6: 0x994907 [npm] 7: 0xbc9a29 [npm] 8: 0xbcb817 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [npm] 9: 0x13a72b9 [npm] /opt/bitnami/nodejs/bin/.node.bin[8878]:../src/node.cc:663:void node::ResetStdio():断言“%0==(err)”失败。 1:0x9ef190 node::Abort()[/opt/bitnami/nodejs/bin/.node.bin] 2:0x9ef217[/opt/bitnami/nodejs/bin/.node.bin] 3:0x9bd657节点::ResetStdio()[/opt/bitnami/nodejs/bin/.node.bin] 4:0x9bd6c0节点::信号出口(int)[/opt/bitnami/nodejs/bin/.node.bin] 5:0x7fca6718e390[/lib/x86_64-linux-gnu/libpthread.so.0] 6:0x7fca66ebaad3 epoll_wait[/lib/x86_64-linux-gnu/libc.so.6] 7:0x13200b0[/opt/bitnami/nodejs/bin/.node.bin] 8:0x130e26b uv_运行[/opt/bitnami/nodejs/bin/.node.bin] 9:0xa31ec3节点::NodeMainInstance::Run()[/opt/bitnami/nodejs/bin/.node.bin] 10:0x9c1cc8节点::开始(int,char**)[/opt/bitnami/nodejs/bin/.node.bin] 11:0x7fca66dd3840 uu libc_start_main[/lib/x86_64-linux-gnu/libc.so.6] 12:0x95c085[/opt/bitnami/nodejs/bin/.node.bin] 中止(堆芯转储) npm错误!代码失效循环 npm错误!埃尔诺134 npm错误!App@0.0.1start:`node app.js` npm错误!退出状态134 npm错误! npm错误!失败App@0.0.1开始脚本。 npm错误!这可能不是npm的问题。上面可能还有其他日志输出。 npm错误!此运行的完整日志可在以下位置找到: npm错误/home/bitnami/.npm/_logs/2020-12-17T21_05_41_838Z-debug.log npm[8862]:../src/node.cc:663:void node::ResetStdio():断言“(0)==(err)”失败。 1:0x9ef190节点::中止()[npm] 2:0x9ef217[npm] 3:0x9bd657节点::ResetStdio()[npm] 4:0x7fd18c8c7008[/lib/x86_64-linux-gnu/libc.so.6] 5:0x7fd18c8c7055[/lib/x86_64-linux-gnu/libc.so.6] 6:0x994907[npm] 7:0xbc9a29[npm] 8:0xbcb817 v8::internal::Builtin_HandleApiCall(int,无符号长*,v8::internal::Isolate*)[npm] 9:0x13a72b9[npm] 有时我会看到一个简短的错误:

Terminated npm ERR! code ELIFECYCLE npm ERR! errno 143 npm ERR! App@0.0.1 start: `node app.js` npm ERR! Exit status 143 npm ERR! npm ERR! Failed at the App@0.0.1 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/bitnami/.npm/_logs/2020-12-17T21_06_43_530Z-debug.log 结束 npm错误!代码失效循环 npm错误!第143号 npm错误!App@0.0.1start:`node app.js` npm错误!退出状态143 npm错误! npm错误!失败App@0.0.1开始脚本。 npm错误!这可能不是npm的问题。上面可能还有其他日志输出。 npm错误!此运行的完整日志可在以下位置找到: npm错误/home/bitnami/.npm/_logs/2020-12-17T21_06_43_530Z-debug.log 这两者之间有什么区别,重启NodeJS服务器的最佳方式是什么?

不要终止服务器(因为它可能会离开绑定) 关闭服务器的最佳方法是实现一种优雅地关闭服务器的机制

例如,您可以通过捕获和处理服务器终止来实现这一点

在nodejs中,您可以通过利用

process.on(“SIGINT”,()=>{
控制台日志(“接收到SIGINT”);
});
要向进程发送SIGINT,请执行以下操作

kill-s SIGINT

您可能还对

感兴趣,谢谢!这回答了另一个问题:它处理短错误,而不是长错误。它是否来自服务器正在忙于处理某些请求?如果是,如何等待请求堆栈为空,然后再终止?