Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
Механизм прост: задаём константе MAX_OPEN_FILES разумное число, меньшее чем максимально допустимое количество открытых файловых дескрипторов (например 256)ulimit поднимать не пробовали? Говорят, помогает.
// синхронная версия
fs.closeSync(file_handle);
callback();
// асинхронная версия
fs.close(file_handle, function () {
callback();
});
Поскольку статус операции всё-равно не проверяеться (да и каким он, в принципе может быть?)
Not checking the return value of close() is a common but nevertheless serious programming error. It is quite possible that errors on a previous write(2) operation are first reported at the final close(). Not checking the return value when closing the file may lead to silent loss of data. This can especially be observed with NFS and with disk quota.
// синхронная версия
fs.closeSync(file_handle);
callback();
// асинхронная версия
fs.close(file_handle, function () {
callback();
});
Решение проблемы «EMFILE, too many open files»