Nodejs文件追加,达到文件描述符最大限制问题

时间:2018-10-10 12:30:13

标签: node.js file fs file-descriptor

我正在尝试使用以下逻辑将日志追加到我的日志文件中

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

有什么主意,如何在关闭文件描述符的情况下简单地将数据追加到文件中?

0 个答案:

没有答案