路径查找和写并发问题

时间:2011-11-01 06:52:51

标签: linux concurrency path

在Linux VFS中,如何处理这种情况:说一个进程正在查找文件A..got它的引用,同时文件A被另一个进程删除。第一个进程成功找到了A,但是当它想要对它执行操作时,该文件就不再存在了。

1 个答案:

答案 0 :(得分:0)

只要进程在文件的路径名上成功调用open,就会为其分配文件描述符。此描述符不再与路径名相关,因此当名称为remove() d之后,仍可以读取或写入该文件。它还占用磁盘空间。

您自己研究的其他关键字是:取消链接,硬链接。

但是在打开文件之前,显而易见的事情会发生,并且您无法保证对chmodopen的两次连续调用会影响同一文件。

这也是fstatfchmodfchdir等函数存在的原因。