我有一个Node应用程序,在生产服务器上定期会出现100%的CPU占用率。我希望能够发送一个信号给Node进程,以便我可以获取堆栈跟踪信息,从而找到问题所在的代码位置。 是否有简单的方法来实现这个功能?我的服务器是Ubuntu 14.04.2,运行的是Node 0.12.2版本。
有一个名为console.trace()的函数可以帮助您实现您想要做的事情。 如何在Node.js中打印堆栈跟踪? 使用以下代码在进程上设置事件处理程序以监视SIG1: process.on('SIGUSR1', function(){ console.trace }); 现在,从终端发出以下命令以向 Node 发送 SIGUSR1 信号: killall -10 node 我不确定堆栈跟踪是否足够详细,以便对您有用,它可能只会显示SIG1USR回调函数,不确定。但我认为这将使您更接近答案。
at process. (worker.js:14:13)
at process.emit (events.js:104:17)
at Signal.wrap.onsignal (node.js:655:46)
- Dirk