【发布时间】:2010-10-08 12:37:50
【问题描述】:
如果我的进程试图从文件中读取,那么我如何从我的代码(C 语言)中确保没有其他进程写入或删除它(包括用于删除文件的系统命令)?
此外,这是否可以在所有操作系统(Windows、Linux、Solaris、HP-UX、VxWorks 等)上实现?
【问题讨论】:
-
据我所知,它将完全依赖于操作系统,但我已经在 C 语言中脱离了 15 年。
-
哦,如果您在谷歌上搜索答案,术语是“文件锁定”。
-
吹毛求疵的技术性:您不关心另一个进程是否尝试写入或尝试删除它 - 您只关心另一个进程是否成功。你真的无法阻止进程尝试。你也许可以阻止他们成功。
-
@Jonathan,是的。我的意思是一样的,我没有另一个成功的过程。
-
另外,如果文件消失了,你会怎么做?例如。它在一个 U 盘上,有人刚刚把它拔了出来。您可以停止系统命令,但停止人员更难。
标签: c file file-locking