- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于那个线程: 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 主体的其余部分(echo
和 sleep
命令)期间,锁将由该子 shell 持有,其他任何人都无法获得该锁。子 shell 完成后,文件将关闭并释放锁定。
关于bash 羊群 : Why 200?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13551840/
关于那个线程: bash flock: exit if can't acquire lock 如果有人能向我解释“200”代表什么,我将不胜感激。 我读过有关 flock 的文章,如果要指定文件描述符
以下锁定机制用于防止 cron 作业并发运行: #!/bin/bash echo "Before critical section" ( flock -e 200 echo "In c
我正在使用 cron 定期运行 bash 脚本,并尝试使用 flock以防止此脚本及其创建的进程被多次运行。 crontab 中每分钟运行一次的条目是: */1 * * * * flock -n /t
我将 flock() 用于进程间命名的互斥锁(即某些进程可以决定锁定“some_name”,这是通过在临时目录中锁定名为“some_name”的文件来实现的: lockfile = "/tmp/som
我是一名优秀的程序员,十分优秀!