Nodejs File append, достигнут максимальный лимит дескриптора файла - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь добавить журналы в мой файл журнала со следующей логикой

fs.open('message.txt', 'a', (err, fd) => {
 if (err) throw err;
 fs.appendFile(fd, 'data to append', 'utf8', (err) => {
   fs.close(fd, (err) => {
     if (err) throw err;
   });
   if (err) throw err;
 });
});

Это не работает, и дескриптор файла продолжает увеличиваться, когда я пишу журналы.Я также попробовал другой метод ниже.

const fs = require('fs');

let writeStream = fs.createWriteStream('secret.txt');

// write some data with a base64 encoding
writeStream.write('aef35ghhjdk74hja83ksnfjk888sfsf', 'base64');

// the finish event is emitted when all data has been flushed from the stream
writeStream.on('finish', () => {  
    console.log('wrote all data to file');
});

// close the stream
writeStream.end();  

Этот метод также не работает, количество дескрипторов файлов продолжает увеличиваться и, в конечном итоге, выдает максимальный предел файла ошибок.

kernel: VFS: file-max limit 4096 reached

Есть идеи, как просто добавить данные в файл с закрытыми файловыми дескрипторами?

...