linux - 在 Linux 上锁定 NFS 文件时如何避免有问题/未定义的行为?

标签 linux nfs file-locking

我过去使用过 flock() 和 fcntl(),但我一直担心某些旧版本的 Linux 的行为未定义或存在问题。

我需要一个与旧版 Linux-es(例如 2.6.18 或更高版本)和 NFS 3+ 兼容的解决方案。

在这种情况下,flock() 和/或 fcntl() 是否会始终如一地工作,或者我是否需要求助于 open (.... O_EXCL) 来保证原子性?

最佳答案

您绝对不能期望 flock() 与 NFS 一起工作。 fcntl()F_SETLK 有很好的工作机会,如果您在一个进程中有多个用途,请注意:http://0pointer.de/blog/projects/locking.html

关于linux - 在 Linux 上锁定 NFS 文件时如何避免有问题/未定义的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25634848/

相关文章:

.net - 哪个调试工具(如果有)允许我识别持有文件锁的线程?

linux - Dart 语言 : run server side application

使用 > 输出重定向缓冲 Python 打印语句

linux - 使用 nfs rootfs 读取 tty 时出现问题

linux - 如何列出远程导出的 NFSv4 卷?

filezilla - 编辑时如何在 Ubuntu 服务器中锁定文件

python - 在 Python 中混淆字符串

linux - 我的期望脚本关闭得太快

hadoop - 如何通过NFS网关挂载特定的hadoop文件夹