我在看羊群医生:
calls/flock.htm
https://linux.die.net/man/1/flock
我有这个:
#!/usr/bin/env bash
temp_dir="$HOME/temperton/tmp";
mkdir -p "$temp_dir"
(
flock -x "$temp_dir/a"
echo '111'
) &
(
flock -x "$temp_dir/a"
echo '222'
) &但是当我运行它时,我会得到这样的错误:
flock:坏文件描述符:'/home/ratt/temperton/tmp/a‘flock: 111个坏文件描述符:'/home/ratt/temperton/tmp/a’222
发布于 2021-03-31 14:52:15
“flock”是最有用的,然后用文件描述符操作。如果锁定了文件/dir-name,还应该提供一个执行命令。我想,在内部,它的工作方式如下:
exec 4<$name # open
flock 4
<your_command_here>
exec 4<&- # close在您的示例中,可以用
flock $temp_dir sleep 5s来检查差异。
https://stackoverflow.com/questions/56512379
复制相似问题