首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js:检查阻止脚本自然退出的事件循环中的剩余内容

问Node.js:检查阻止脚本自然退出的事件循环中的剩余内容
EN

Stack Overflow用户
提问于 2014-09-26 18:21:14
回答 3查看 11.9K关注 0票数 74

如果主事件循环中还有回调,Node.js脚本将不会退出。虽然可以通过调用process.exit()或抛出异常来强制终止脚本,但建议通过始终执行适当的清理,让脚本“自然”终止。然而,有时这可能是困难的,因为代码中的bug可能会阻止适当的清理,例如,我可能会在不再需要时忘记删除IntervalObject,等等,这最终会阻止程序终止。

因此,有没有一种方法可以调试一个非终止脚本,以找出事件循环中剩余的注册内容?换句话说,在Node.js中有没有一种方法可以调试阻止程序退出的原因?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-26 20:43:11

可以调用process._getActiveRequests()来获取活动I/O请求的列表,调用process._getActiveHandles()来获取打开的句柄/文件描述符的列表。

票数 67
EN

Stack Overflow用户

发布于 2019-01-29 02:59:13

wtfnode包利用了@mscdex提到的工具,但以一种对开发人员更友好的方式呈现。我强烈推荐这个来追踪这些烦人的事情。

代码语言:javascript
复制
const wtf = require('wtfnode');

// ...

wtf.dump();
票数 21
EN

Stack Overflow用户

发布于 2018-10-16 18:01:53

从版本8开始,Node.js提供了一个方便的模块来检索这类信息。

async_hooks:用于注册跟踪在Node.js应用程序中创建的异步资源的生命周期的回调的API。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26057328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档