gpt4 book ai didi

bash 羊群 : Why 200?

转载 作者:行者123 更新时间:2023-11-29 08:42:23 24 4
gpt4 key购买 nike

关于那个线程: bash flock: exit if can't acquire lock

如果有人能向我解释“200”代表什么,我将不胜感激。

我读过有关 flock 的文章,如果要指定文件描述符,似乎是 200,但是这个数字有什么好处呢?

最佳答案

数字 200 没有什么特别之处。它恰好是 flock 命令的手册页中使用的示例;它恰好是一个很大的数字,所以它不太可能与您在脚本期间打开的任何其他文件的文件描述符发生冲突。

在您的评论中,您询问:

( 
flock -e 200
echo "In critical section"
sleep 5
) 200>/tmp/blah.lockfile
echo "After critical section"

圆括号 () 创建一个子 shell;一个独立于父进程的新进程。 200>/tmp/blah.lockfile 导致该进程在文件描述符 200 上打开 /tmp/blah.lockfile 进行写入。执行括号内的命令在那个壳里。

flock -e 200 获得文件描述符 200 指向的文件的独占锁。独占锁意味着任何其他人试图获得该文件的锁,无论是独占还是共享,将阻塞(等待)直到此锁被放弃,或者如果他们遇到超时或要求不阻塞则失败。因此,在子 shell 主体的其余部分(echosleep 命令)期间,锁将由该子 shell 持有,其他任何人都无法获得该锁。子 shell 完成后,文件将关闭并释放锁定。

关于bash 羊群 : Why 200?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13551840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com