7

大量のデータを収集し、処理し、保存して終了する Node.Js 用のスクリプトを作成しました。残念ながら、スクリプトが終了してノードが閉じるのを妨げている私がしたことは、代わりに開いたままです。

私はおそらく、行った変更を処理して追跡しようとしますが...ノードをデバッグして、どのコード/イベント/コールバック/接続などを見つける簡単な方法はありますか?待っていますか?

node-inspector を見てきましたが、開いたままにしておくものを追跡する方法がわかりませんでした。何かアドバイス?

4

3 に答える 3

8

wtfnodeを使用して node.js プログラムを実行するかrequire('wtfnode').init();、最初の行またはプログラムに追加できます。ctrl+を押しcてプロセスを強制終了すると、ノードを開いたままにしておくすべてのもののリストが出力されます。

于 2016-07-24T12:21:19.553 に答える
4

これが起こったとき、ほとんどの場合、mongodb、amqp などのようなものです。それはデータベース接続、ネットワーク接続です。処理が完了したら、必ずそれらを閉じてください。

私はあなたがlsof -p <PID>それが言うことを使用して見ることができると思います. そこに mongodb と amqp の両方が表示されます。

于 2013-02-11T15:05:40.967 に答える