来自文摘: http://www.gnu.org/software/libc/manual/html_node/File-Locks.html
概要如下:
1. fcntl函数用来支持记录锁(recording locking), 防止多个进程同时对一个文件地某些部分访问造成错误。 锁分为共享锁和互斥锁两种。
2. read、write函数不检查文件的锁情况(另外fread,fwrite内部有锁机制,线程安全)。如果你想在一个被多个进程共享的文件上实现锁的规则,那么你的应用程序必须在适当的地方明确地调用fcntl函数加锁和解锁。
3. 文件描述符被close,这个进程持有的该文件的所有锁将会被释放。同样地,如果进程退出,文件锁也会释放。
4. 文件锁不被fork产生的子进程继承。