实施环境锁的正确方法

时间:2016-08-29 06:48:03

标签: c directory locking

如果我的程序需要一些在运行时(启动期间)无法修改的基本配置文件,那么在其目录环境中实现锁定的正确方法是什么?

详细信息:

我想的情况是:只有软件本身才能修改文件。因此,我需要保护环境免受其他软件实例的影响。该软件也可能由几个不同的程序组成。所以,我需要找到一个直接在流程之间共享的接口。

创意1:

一种方法是为每个配置文件获取锁(flock)。这实施和维护几乎是不切实际的。

创意2:

我一直在考虑的第二种方法是在启动期间在我的目录中创建.lock文件,并在配置文件可以安全修改时将其删除。我见过许多使用类似方法的商业软件。但是,我怀疑这些操作缺乏原子性可能是个问题。当多个应用程序可能同时尝试创建/轮询/删除锁定文件时,此方法是否安全?

0 个答案:

没有答案