【发布时间】:2023-12-31 00:57:02
【问题描述】:
我有一个现有的锁定文件,有时会被其他进程使用。我想暂时获取这个锁定文件,以便其他可能使用它的程序必须等待我解锁。然后我想运行几个命令,然后解锁它。我该怎么做呢?我认为这很容易,但由于某种原因,我根本无法弄清楚。我知道我很可能需要为此使用flock,但是在这种情况下我应该使用什么参数? flock 似乎总是需要一个命令或第二个文件才能工作,但在这种情况下似乎没有。
上下文:我正在使用的 bash 脚本在特定锁定文件(具体来说是/var/lib/apt/lists/lock)周围遇到竞争条件,为了测试我的解决方案,我希望能够可靠地锁定该文件,以便检查是否我对脚本的更改有效。
【问题讨论】:
-
This 是对该主题的概述。特别注意标记为 Problems 和 Lock files 的部分