在ubuntu中快速写入多个文件时如何确保磁盘正常刷新?

时间:2014-12-14 20:50:56

标签: linux node.js macos unix ubuntu

我在node.js脚本中创建了许多文件。

我为数百万个文件做了类似的事情:

    if(!fs.existsSync(path)){
        var empty = {};
        fs.writeFileSync(path,JSON.stringify(empty,null,3));
    }

    var data = fs.readFileSync(path);
    var file = JSON.parse(data);
    file[aKey] = "someadata";
    fs.unlinkSync(path);
    fs.writeFileSync(path, JSON.stringify(file,null,3));

在某些地方,我尝试阅读文件

    if(!fs.existsSync(previousPath)){
        var file = {};
        fs.writeFileSync(previousPath,JSON.stringify(file,null,3));
    }
    var data = fs.readFileSync(previousPath);

这在OSX上没有问题。但是在Ubuntu中的节点版本中,似乎同步方法并不总是同步的 - 有时node.js在尝试readFileSync时崩溃,说路径不存在(即使它应该存在,因为我打电话fs.writeFileSync就在它之前。)

ubuntu上的节点版本:v0.10.33 在mac:v0.13.0-pre

有什么建议吗? v0.10.33似乎是ubuntu中存储库中的最新版本。

0 个答案:

没有答案