如何锁定文件夹

时间:2015-06-17 08:37:20

标签: node.js

我正在一个有文件处理的项目中工作。文件来自另一个应用程序,数量很大。现在我想锁定其他应用程序的文件夹,直到扫描它的文件和进程。处理完所有文件后,将删除并解锁此文件夹。我用Google搜索了,但找不到解决方案。有没有使用node.js的方法?请建议。

1 个答案:

答案 0 :(得分:0)

对于我的文件系统同步,我倾向于使用lockfile模块。它允许函数锁定文件/文件夹,防止访问,直到它被释放(实际上是互斥锁)。您可以在他们的npm页面上找到您要执行的操作的示例:

var lockFile = require('lockfile');
lockFile.lock('some-file.lock', opts, function (er) {
  // if the er happens, then it failed to acquire a lock. 
  // if there was not an error, then the file was created, 
  // and won't be deleted until we unlock it. 

  // do my stuff, free of interruptions 
  // then, some time later, do: 
  lockFile.unlock('some-file.lock', function (er) {
    // er means that an error happened, and is probably bad. 
  })
});

其中“some-file.lock”是您尝试锁定的文件/目录。