在node.js重新启动之前,文件/目录不会被删除

时间:2015-12-30 05:53:18

标签: linux node.js redhat fs pm2

我有一个很大的node.js项目,可以处理linux redhat文件系统,并且由PM2管理。我正在使用fs和rimraf在redhat AWS临时驱动器上进行磁盘清理。

在运行所有磁盘清理操作时,文件将被删除,但会由node.js保持打开状态,直到重新启动。使用df显示磁盘已满,但du将磁盘显示为干净,这是有意义的。

我的理解是,在使用fs时,如果您使用fs.open,则需要调用fs.close,但这些功能永远不会被使用。我正在使用的fs操作是:

fs.writeFile fs.readdirSync fs.lstatSync fs.existsSync fs.mkdirSync fs.chownSync fs.unlink fs.rmdirSync fs.writeFile fs.createReadStream fs.createWriteStream

Rimraf也正在使用,但通过他们的代码查看,我认为这不是问题。

根据文档,我相信所有这些功能都可以自我管理,但如果有人知道某些事情,我就不会看到帮助。

我的另一个担心是pm2以某种方式保持文件打开,这可能吗?

1 个答案:

答案 0 :(得分:0)

fs.createWriteStream需要手动from config import db host = db['db.host'] fs.createReadStream也需要它,除非您设置fs.close()选项,然后一直读取文件直到结束或错误。