如果我在不关闭进程的情况下使用标志重新打开其中包含数据的数据并且我的进程持有一个会发生什么?fstream
std::ios::trunc
boost::interprocess::file_lock()
我应该期望操作系统保持我的文件锁定吗?或者当文件关闭时操作系统会透明地取消注册锁?Windows 和 POSIX 经验将不胜感激。
编辑
我的主要目标是截断配置文件并重写它。该文件的第二个目的是防止其他等效的守护进程启动。因此,如果有另一种方法使用 boost 或 c++ stl 来截断文件而不关闭它,我会全神贯注:D