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