代码: 全选
#!/bin/bash
echo $0
flock $0 sh -c ''
bc
此时如果此脚本再次运行,就不受到锁的保护
代码: 全选
#!/bin/bash
echo $0
flock $0 sh -c ''
bc
代码: 全选
exec 4>"$LOCK_FILE"
flock -e 4 # 这里若是不能获取锁就会一直阻塞
... # 做你想做的
flock -u 4
弱问看的是什么手册能得出exec这种用法?自由建客 写了:叫你不看手册,我不懂洋文都看了
number 是文件描述符,man flock 有说明。科学之子 写了:弱问看的是什么手册能得出exec这种用法?自由建客 写了:叫你不看手册,我不懂洋文都看了
这次我发帖前真看了手册,但当时没看懂那个number的意思
看得是"man flock"
没看出exec这种用法
zsh 直接用变量作为文件描述符名称就不用纠结哪个可用了:
代码: 全选
exec {fd}<>$LOCK_FILE
flock -e $fd