首页 > 解决方案 > Flock 命令在锁定文件时删除所有数据

问题描述

停止错误

set -e

pidfile=/data/demo3.json

# lock it
exec 200>$pidfile
flock -n 200 || exit 1

# my code 
echo "hello"
sleep 20
echo "bi"

我正在使用这个 shell 脚本(utility.sh)来锁定 demo3.json 文件。所以,当这个脚本(utility.sh)运行时,我不希望任何人访问 demo3.json 文件。但是这个脚本不能正常工作。Demo3.json 文件权限为 -rw-r--r--

在时间 = T1 从一个终端我正在运行这个实用程序脚本 ./utility.sh 输出 - 你好在时间 = T1 从第二个终端我想访问 demo3.json 文件 cat demo3.json 但是这个文件中的所有数据都被删除了我也可以同时访问这个文件。有人可以帮我弄这个吗?

标签: bashshellprocesslockingflock

解决方案


推荐阅读