http://blog.chinaunix.net/uid-25324849-id-3077304.html
#! /bin/bash -
set -x
#exec 6<>"mylockfile.sh"
{
flock -n 6
# [ "$?" -eq "1" ] && {echo "fail"; exit;}
if [ "$?" -eq "1" ]; then
echo "fail";
exit;
fi
echo $$
sleep 10
} 6<>"mylockfile.sh"
在函数或者子shell里执行flock,返回之后已不再持有锁,需要保护的代码应该放在上面sleep前后。
本文介绍了一个Bash脚本示例,展示了如何在Bash中使用flock命令来实现文件锁定,确保关键代码段的原子性执行。特别强调了在函数或子shell环境中正确使用flock的方法。
2105

被折叠的 条评论
为什么被折叠?



