fcntl字节文件在linux中锁定

时间:2017-01-03 03:29:03

标签: c linux unix fcntl

我使用fcntl锁定文件中的特定字节,其中包含fl.1_start和f1.1_len的某些值。程序运行时,我试图从这些字节上的其他程序写入该文件。当两个程序同时运行时,第二个程序正在写入那些锁定的字节,尽管第一个程序存在锁定。任何人都能解释为什么它表现得那样吗?

1 个答案:

答案 0 :(得分:3)

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

read()write()等操作只会忽略锁定。仅当在已被其他进程

锁定的区域上显式调用fcntl()时,才会阻止另一个进程