带锁的ReadStream(NodeJS)

时间:2015-04-17 19:01:14

标签: node.js fs

var fileStream = fs.createReadStream(filePath)
如何 readStream 共享/独占锁
因此,该文件不能删除已更改

1 个答案:

答案 0 :(得分:1)

我认为node不会暴露任何文件系统锁定机制。

如果您要将文件系统用于系统范围的锁定或安全的进程间通信,则需要找到其他方法(例如套接字)。

如果它不是安全关键,那么有一些方法可以让其他进程更难(但并非不可能)来处理文件:

  • 使用无法使用的文件名。 require('crypto').getRandomBytes('16').toString('hex')

  • 通过createReadStream上的选项创建文件时的权限范围较窄。

  • 以特殊用户身份运行节点进程,因此文件仅由该用户拥有。将OS配置为在适当的用户下运行节点,或者让节点以root身份运行,并通过process.setuid / setgid切换到另一个用户。