linux在多个进程同时操作同一份文件的时候,很容易导致文件混乱,这时候就需要锁,来保证文件的完成性。
flock主要三种操作类型:
- lock_sh,常被用作读共享锁;
- LOCK_EX,只能被一个进行使用,常被用作写锁;
- LOCK_UN,释放锁;
使用共享锁LOCK_SH,如果是读取,不需要等待,但如果是写入,需要等待读取完成。
使用独占锁LOCK_EX,无论写入/读取都需要等待。
LOCK_UN,无论使用共享/读占锁,使用完后需要解锁。
LOCK_NB,当被锁定时,不阻塞,而是提示锁定。
用法
1 | [root@i-2ld7xfi6 ~]# flock -h |