我的要求是仅在未访问文件时才替换文件。我有以下片段:
if [ -f file ]
then
while true
do
if [ -n "$(fuser "file")" ]
then
echo "file is in use..."
else
echo "file is free..."
break
fi
done
fi
{
flock -x 3
mv newfile file
} 3>file
但我怀疑我没有正确处理并发。请提供一些见解和可能的方法来实现这一目标。
谢谢。