【发布时间】:2013-07-04 09:29:29
【问题描述】:
我的理解是NodeJS一直运行,直到所有的事件都从事件队列中排出,然后才会退出。在各种情况下,我编写了一个脚本,它使用第三方模块,它做我想做的事,但不退出。我认为这是因为其他一些第三方模块在事件队列中有一些东西。
我能做些什么来观察队列,鼓励它被排空,或者甚至确定谁还有事要做(也许获得足够的信息来知道如果我还是 process.exit,不会造成任何伤害)
感谢您的建议。
【问题讨论】:
-
"NodeJS 一直运行,直到所有事件都从事件队列中耗尽,然后它才会退出" - 真的吗?那么如果你使用 Node 建立一个网站,如果没有人访问它,它会自动关闭吗?也许我误解了你的问题。
-
看看 process._getActiveHandles() 和 process._getActiveRequests() (groups.google.com/d/msg/nodejs/ztspFn-BKgE/qw1I9VLSG_gJ)
-
@PaulD.Waite 不会真正节省资源 ;-) 但说真的 - 如果您有一个指向“NodeJS 将/不会退出的情况”的链接,那将很有帮助。我在下面的答案中看到至少添加一个 SetInterval 会阻止应用程序停止。
标签: javascript node.js eventemitter