あるディレクトリでファイルを再帰的に読み込み、変更して別のディレクトリに書き込むプログラムを作成しました。私はそのプログラムを実行するたびに、数百回の反復を経て突進します。私はもう一度それを実行し、それはタスクを完了するようだ。nodejs/Macと開いているファイルの制限
nodejまたはMac OS X、またはおそらくnode-on-Mac-OS-Xは、一度に開くことのできるファイル数にある程度の制限があるようです。周りを検索すると、解決策はulimit -n 10480
のようなものを使用することで、すべてがうまくいくことがわかります。それは正しい方法ですか?本質的に、私はむしろ私のシステム設定をちょっと変えずに、私のプログラムを変更して限界内で動作するようにしたいと思います。
私は前述のタスクを実行するためにPerlを使用していましたが、問題はありませんでした。私は開いていて、変換してから、ファイルを閉じてから移動していたと仮定しています。 nodejsでは、async
モードを使用して、のファイルを閉じる方法がなく、は次のファイルに進みます。 sync
モードでタスクを実行すると、正常に動作します。