如何检查文件是否被其他过程锁定



我正在使用Flock在文本文件上获取独家锁定并在其中写入某些内容,然后再检查其他某些过程是否在该文件上有任何锁定,如果这样

所以,我想要

之类的东西
if locked; then
    do something
else
    ( 
    flock -e 200
    echo "In critical section"
    echo text >> file.txt
    echo text added to File 
    )   200>file.txt 

bash有没有办法检查此问题?我已经研究了LSOF,但我无法得出解决方案。

尝试使用...

( flock -n 200 || exit 1
  echo "In critical section"
  echo text >> file.txt
  echo text added to File 
) 200>file.txt

'-n'标志将防止阻塞,如果未获得锁定,退出代码将为'1'。

最新更新