标签: c linux unix fcntl
我使用fcntl锁定文件中的特定字节,其中包含fl.1_start和f1.1_len的某些值。程序运行时,我试图从这些字节上的其他程序写入该文件。当两个程序同时运行时,第二个程序正在写入那些锁定的字节,尽管第一个程序存在锁定。任何人都能解释为什么它表现得那样吗?
答案 0 :(得分:3)
fcntl是类Unix系统中的自愿实现。两个进程都必须使用它才能正常工作。
fcntl
read()和write()等操作只会忽略锁定。仅当在已被其他进程
read()
write()
fcntl()