fcntl 字节文件锁定 linux
fcntl bytes file locking in linux
我使用 fcntl 锁定文件中的特定字节,其中一些值为 fl.1_start 和 f1.1_len。当程序是 运行 时,我试图从其他程序写入那些字节的文件。当两个程序同时 运行 时,第二个程序正在写入那些锁定的字节,尽管第一个程序存在锁定。谁能解释为什么它会这样?
fcntl
是类 Unix 系统中的一种自愿实现。两个进程都必须使用它才能正常工作。
像read()
和write()
这样的操作简单地忽略锁。仅当在已被其他进程
锁定的区域上显式调用fcntl()
时,其他进程才会被阻塞
我使用 fcntl 锁定文件中的特定字节,其中一些值为 fl.1_start 和 f1.1_len。当程序是 运行 时,我试图从其他程序写入那些字节的文件。当两个程序同时 运行 时,第二个程序正在写入那些锁定的字节,尽管第一个程序存在锁定。谁能解释为什么它会这样?
fcntl
是类 Unix 系统中的一种自愿实现。两个进程都必须使用它才能正常工作。
像read()
和write()
这样的操作简单地忽略锁。仅当在已被其他进程
fcntl()
时,其他进程才会被阻塞