gpt4 book ai didi

c - 如何确保当我的进程正在操作一个文件时,没有其他进程试图写入或删除它?

转载 作者:行者123 更新时间:2023-12-05 01:37:15 26 4
gpt4 key购买 nike

如果我的进程试图从文件中读取,那么我如何通过我的代码(C 语言)确保没有其他进程写入或删除它(包括用于删除文件的系统命令)?

此外,这是否可以在所有操作系统(Windows、Linux、Solaris、HP-UX、VxWorks 等)上实现?

最佳答案

编辑:我会回答 Unix/Linux

正如 gspr 和其他人所说,看看使用 fcntlflock 等的文件锁定。但是,请注意这些是ADVISORY LOCKING 方法。

这是什么意思?这意味着您可以警告其他进程您当前正在访问一个文件或其中的一部分,但您不能强行阻止它们忽略您并在您的文件中写入所有内容

没有强制锁定原语。您可以使用对您有利的权限,但您永远无法获得完全的保证——root 用户总是可以覆盖您的限制。我认为没有办法解决这个问题。

关于c - 如何确保当我的进程正在操作一个文件时,没有其他进程试图写入或删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3890515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com