我刚刚经历了这个问题。
仅仅使用的问题
process.exit()是我正在处理的程序正在创建句柄,但从未销毁它们。
它正在处理目录并将数据放入 orientdb中 。
因此,我学到的一些东西是在摆脱引用之前需要关闭数据库连接。但这
process.exit()并不能解决所有情况。
当我的项目处理了2,000个文件时。它将剩下约500个,多余的手柄将填满可用的工作内存。这意味着它将无法继续。因此永远不会到达
process.exit末尾。
另一方面,如果关闭了要求应用程序保持打开状态的项目,则可以从源头上解决问题。
我能够使用的两个“未记录的功能”是
process._getActiveHandles();process._getActiveRequests();
我不确定还有哪些其他功能可以帮助调试这些类型的问题,但是这些功能真的很棒。
它们返回一个数组,通过使用这些方法,您可以确定过程中发生的事情。
我只是希望这可以帮助其他在这篇文章中绊脚的人。



