Bry*_*eld 15 stack-trace node.js
有没有办法看到什么超时,间隔或异步操作(或无限循环)仍在运行,并阻止我的进程结束?
到目前为止,我已经能够在没有这样的工具的情况下解决这个问题,但是这样的工具非常方便,尤其是当Node.JS项目开始变大时.
我在想Java kill -3,它将堆栈跟踪打印到stderr.您可以为任何进程,任何时间,调试或否执行此操作.我想要Node.JS的等价物.(我知道该节点是单线程的异步,因此输出方式不同)
B T*_*B T 10
节点运行的模块正是您需要的.
var log = require('why-is-node-running')
setTimeout(function () {
log() // logs out active handles that are keeping node running
}, 100)
Run Code Online (Sandbox Code Playgroud)
输出类似于:
There are 4 known handle(s) keeping the process running and 0 unknown
Known handles:
# Timer
/Users/maf/dev/node_modules/why-is-node-running/example.js:6 - setInterval(function () {}, 1000)
/Users/maf/dev/node_modules/why-is-node-running/example.js:10 - createServer()
# TCP
/Users/maf/dev/node_modules/why-is-node-running/example.js:7 - server.listen(0)
/Users/maf/dev/node_modules/why-is-node-running/example.js:10 - createServer()
# TCP
/Users/maf/dev/node_modules/why-is-node-running/example.js:7 - server.listen(0)
/Users/maf/dev/node_modules/why-is-node-running/example.js:11 - createServer()
# Timer
/Users/maf/dev/node_modules/why-is-node-running/example.js:13 - setTimeout(function () {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3703 次 |
| 最近记录: |