捕获node.js的崩溃原因

我有一个用node.js编写的脚本,它使用'net'库并通过tcp与远处的服务进行通信。 这个脚本是使用'node script.js >> log.txt'命令启动的,并且使用console.log()函数logging的脚本中的所有内容都被写入log.txt,但是有时候脚本会死掉,我找不到原因在脚本崩溃的时候log.txt被logging了。

我怎样才能捕捉到崩溃的原因?

通过分解stdoutstderr来捕获exception要容易得多。 像这样:

 node script.js 1> log.out 2> err.out 

默认情况下,节点将正常输出logging到标准输出,我相信你用>>来捕获。

正如在评论中指出的那样,分段错误是shell发送到stderr的信号,不一定是你的程序。 看到这个unix.stackexchange其他选项的答案。

你不能听uncaughtException事件 。 某事沿着=>

 process.on('uncaughtException', function (err) { console.log('Caught exception: ' + err); }); 

PS:在此之后,根据FelixGeisendörfer撰写的这篇文章,build议您重启进程