linux - 独占文件锁(PID文件实现)

标签 linux posix file-locking

我正在尝试为守护进程实现基于文件的独占锁,它适用于每个文件(无线程间或进程内锁定)。我知道这是一个常见问题,并且已经建立了一些约定,但我无法正确解决或完全理解问题。

我查看了其他答案,目前我使用的答案与此非常接近:https://stackoverflow.com/a/1643134 , IE。使用 flock 在程序启动时创建咨询锁。但是,这并不能满足我的要求;对 flock 的调用总是成功的。

我不确定 my code是不正确的,或者如果我误解了,flock 并不意味着跨不同的进程工作(?)。

这是 C++ (11) 代码,在 Linux 2.6.32 (CentOS VM) 和 3.12.9 (Arch) 上测试,都是 ext4 文件系统。

最佳答案

我在 acquire 例程结束时关闭了文件描述符。糟糕。

关于linux - 独占文件锁(PID文件实现),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22700837/

相关文章:

c - 在正则表达式中匹配正斜杠

c# - 通过网络共享锁定行为不同

linux - 从 linux 主机捕获远程控制 session

c - 发送到:无效参数

linux - 无关的论据

java - 在 Java 中,使用 java.nio 库和 FileChannel,如何从文件加载 Properties 对象?

c++ - 为作者-读者寻找最好的 boost 文件锁定机制

c - IPC套接字错误

c++ - 如果 stderr 被重定向到 stdout,则 checkin 程序

c - Posix 正则表达式非贪婪