捕获node.js崩溃原因

时间:2012-04-12 11:02:39

标签: node.js

我有一个用node.js编写的脚本,它使用'net'库并通过tcp与远程服务通信。此脚本使用'node script.js>>启动log.txt'命令和该脚本中使用console.log()函数记录的所有内容都写入log.txt但有时脚本死了,我找不到原因,并且在脚本崩溃的时候没有任何内容记录在log.txt中。

如何捕捉崩溃原因?

2 个答案:

答案 0 :(得分:10)

你不能听uncaughtException event。类似于>

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

P.S:之后建议您根据此article from Felix Geisendörfer

重新启动流程

答案 1 :(得分:4)

通过拆分stdoutstderr来捕获异常要容易得多。像这样:

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

默认情况下,节点将正常输出记录到stdout,我相信您正在使用>>捕获。

如评论中所述,分段错误是shell向stderr发出的信号,不一定是您的程序。有关其他选项,请参阅此unix.stackexchange答案。