この問題を経験しました。
process.exit()
を使用するだけの問題 私が取り組んでいるプログラムはハンドルを作成していましたが、ハンドルを破壊することはありませんでした。
ディレクトリを処理し、データを orientdbに配置していました。 。
ですから、私が学んだことのいくつかは、参照を取り除く前にデータベース接続を閉じる必要があるということです。そして、そのprocess.exit()
すべてのケースを解決するわけではありません。
私のプロジェクトが2,000ファイルを処理したとき。残りは約500になり、余分なハンドルによって使用可能な作業メモリーがいっぱいになります。つまり、続行できなくなります。したがって、process.exit
に到達することはありません 最後に。
一方、アプリを開いたままにするように要求しているアイテムを閉じると、そのソースで問題を解決できます。
私が使用できた2つの「文書化されていない関数」は
でしたprocess._getActiveHandles();
process._getActiveRequests();
これらのタイプの問題のデバッグに他のどの機能が役立つかはわかりませんが、これらの機能は素晴らしかったです。
それらは配列を返し、これらのメソッドを使用することで、プロセスで何が起こっているかについて多くのことを判断できます。
それが他の誰かがこの投稿に出くわすのに役立つことを願っています。