fcntl 字节文件锁定 linux

fcntl bytes file locking in linux

我使用 fcntl 锁定文件中的特定字节,其中一些值为 fl.1_start 和 f1.1_len。当程序是 运行 时,我试图从其他程序写入那些字节的文件。当两个程序同时 运行 时,第二个程序正在写入那些锁定的字节,尽管第一个程序存在锁定。谁能解释为什么它会这样?

fcntl 是类 Unix 系统中的一种自愿实现。两个进程都必须使用它才能正常工作。

read()write()这样的操作简单地忽略锁。仅当在已被其他进程

锁定的区域上显式调用fcntl()时,其他进程才会被阻塞