我目前正在研究 Bash 中的锁。在我正在使用的脚本中,我有一个文件可以由相同或其他脚本的多次调用同时使用。为了同步对文件的访问,我正在使用锁定文件:
(
flock -x -w 10 200
# do stuff with the file $DATAFILE
) 200>$LOCKFILE
这取自我在网上找到的一些例子。但是我想知道是否$LOCKFILE
真的需要额外的,或者我是否可以$DATAFILE
直接锁定访问:
(
flock -x -w 10 200
# do stuff with the file $DATAFILE
) 200>>$DATAFILE
这会起作用吗,或者使用我尝试同步访问的文件作为锁定文件是否有问题?