如何找出阻止我的Node JS应用程序自然关闭的原因?

时间:2014-07-10 14:46:55

标签: javascript node.js shutdown

我开发了一个node.js应用程序。然而,在某个阶段,应用程序应该自然关闭。我可以看到它通过console.log()消息到达最终指令。

然而,Netbeans告诉我它仍在运行。虽然我已经结束了与数据库的连接,但仍然保留了应用程序。我的想法已经不多了。

如何找出阻止我的应用程序关闭的原因?

更新

以下是我使用的模块列表:

  "dependencies": {
    "async": "0.9",
    "body-parser": "1.4.3",
    "clean-css": "2.1.8",
    "cookie": "0.1.2",
    "cookie-parser": "1.1.0",
    "crypto-js": "3.1.2-3",
    "csurf": "1.2.0",
    "emailjs": "0.3.6",
    "express-session": "1.2.1",
    "express": "4.3.1",
    "html-minifier": "0.6.1",
    "markup-js": "1.5.18",
    "node-fs": "0.1.7",
    "node-fs-extra": "0.8.1",
    "pem": "1.4.1",
    "pg": "3.2.0",
    "readdirp": "1.0.1",
    "st": "0.4.1",
    "utils-merge": "1.0.0",
    "validator": "3.12.0",
    "yuicompressor": "2.4.8"
  }

2 个答案:

答案 0 :(得分:1)

有一些未记录的函数可以帮助您稍微确定一下:process._getActiveRequests()process._getActiveHandles()。它们分别返回一组活动请求(例如网络请求)和活动句柄(/文件描述符)。

在节点v0.11 +中有一个名为AsyncListener的新(记录)API,它也可以帮助您跟踪异步请求。

答案 1 :(得分:0)

我发现的最常见问题是你的超时没有执行。由于清除这些并不总是实用的,您可能需要强制退出程序:

process.exit(0)