Linux 独占文件锁(PID文件实现)
我正在尝试为守护进程实现一个基于文件的独占锁,它基于每个文件(没有线程间或进程内锁定)。我知道这是一个常见的问题,并且已经建立了一些惯例,但是我很难正确地理解它,或者完全理解这个问题 我已经研究了其他答案,目前我正在使用与此非常接近的方法:,即使用Linux 独占文件锁(PID文件实现),linux,posix,file-locking,Linux,Posix,File Locking,我正在尝试为守护进程实现一个基于文件的独占锁,它基于每个文件(没有线程间或进程内锁定)。我知道这是一个常见的问题,并且已经建立了一些惯例,但是我很难正确地理解它,或者完全理解这个问题 我已经研究了其他答案,目前我正在使用与此非常接近的方法:,即使用flock在程序启动时创建一个建议锁。然而,这并不是我想要的;对flock的调用始终成功 我不确定这是否是错误的,或者我是否误解了,flock并不意味着要跨单独的流程工作(?) 这是C++(11)代码,在Linux 2.632(CENTOS VM)和3
flock
在程序启动时创建一个建议锁。然而,这并不是我想要的;对flock
的调用始终成功
我不确定这是否是错误的,或者我是否误解了,flock
并不意味着要跨单独的流程工作(?)
这是C++(11)代码,在Linux 2.632(CENTOS VM)和3.129(ARCH)上测试,两个EXT4文件系统。
< P>我在文件的结尾关闭文件描述符>获取< /C>程序。哎哟。可能有些文件系统不支持建议锁定,因此总是会返回成功。我添加了FS和内核。不过,似乎ext4在这方面不应该不可靠,因为它的广泛使用?