9

我有一个用 node.js 编写的脚本,它使用“net”库并通过 tcp 与远程服务通信。该脚本使用“node script.js >> log.txt”命令启动,该脚本中使用 console.log() 函数记录的所有内容都被写入 log.txt,但有时脚本会死掉,我找不到原因,什么也没有在脚本崩溃时登录 log.txt。

如何捕获崩溃原因?

4

2 回答 2

13

你不能听uncaughtException事件吗?类似于 => 的东西

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

PS:之后建议您根据Felix Geisendörfer 的这篇文章重新启动流程

于 2012-04-12T13:01:04.150 回答
10

stdout通过拆分和捕获异常要容易得多stderr。像这样:

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

默认情况下,节点将正常输出记录到标准输出,我相信您正在使用>>.

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

于 2012-04-13T17:25:44.517 回答