使用flock命令查看nas存储是否支持文件锁

上锁

文件锁有两种

  • shared lock 共享锁

  • exclusive lock 排他锁

当文件被上了共享锁之后,其他进程可以继续为此文件加共享锁,但此文件不能被加排他锁,此文件会有一个共享锁计数,加上一个共享锁计数+1,解锁后-1,只有当共享锁计数为0时,才有可能被上排他锁。
当文件被上了排锁之后,在解锁前,不能上共享锁和排他锁。

flock命令使用

在flock.lock文件上加排他锁后,执行休眠30s

flock -x flock.lock -c 'sleep 30'

另起一个终端,# 会在 # <command 1> 执行后30s 输出'hello'

flock -s flock.lock -c 'echo hello' 

不支持文件锁,则会输出以下内容,此时应检查服务端是否支持文件锁、客户端nfs挂载协议版本

$ flock -x flock.lock -c 'sleep 30'
flock:没有可用的锁
原文地址:https://www.cnblogs.com/Aaron-23/p/14884187.html