lovejoy / lovejoy.github.com

This is My hexo blog
0 stars 0 forks source link

go语言中判断一个文件是否被flock上了 | 吐核|Core Dump #52

Open lovejoy opened 5 years ago

lovejoy commented 5 years ago

https://blog.spider.im/post/go-flock-fnctl-getlock/

首先需要知道的是linux存在强制锁(mandatory lock)和劝告锁(advisory lock)。劝告锁是一种协同工作的锁。对于这种锁来说,内核只提供加锁以及检测文件是否已经加锁的手段,但是内核并不参与锁的控制和协调,所以只是个约定,对文件打个标签的感觉,具体遵守不遵守看自己;强制锁是一种内核强制采用的文件锁,每当有系统调用 open()、read() 以及write() 发生的时候,内