linux - 路径查找和写入并发问题

标签 linux concurrency path

在 linux VFS 中,如何处理这种情况:假设一个进程正在查找文件 A.. 得到它的引用,同时文件 A 被另一个进程删除。第一个进程成功找到了A,但是当它要对其进行操作时,该文件已经不存在了。

最佳答案

一旦进程成功调用了文件路径名上的open,它就会被分配一个文件描述符。这个描述符已经和路径名没有关系了,所以当名字被remove()之后,文件仍然可以被读取或写入。它还占用磁盘空间。

您自己研究的其他关键字是:取消链接、硬链接(hard link)。

但是在文件打开之前,明显的事情会发生,您不能保证对 chmodopen 的两次连续调用会影响同一个文件。

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

关于linux - 路径查找和写入并发问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7963337/

相关文章:

php - 执行检查后 MySQL 中的重复条目 (PHP)

c++ - 如何同时使用两个CameraCaptureUI(UWP/C++)

algorithm - 查找<= x 的最长路径(加权无向图)

linux - 在 Ubuntu 上阻止特定瘦客户端的特定网站

c - 计数器值小于访问次数的网页计数器

php - 根据操作系统在 php 中动态定义 ffmpeg 二进制文件路径

python - (python) os.path.exists os.path.isfile 在哪里?

ruby - 备份所有 git repos 并使用相同脚本设置 cron 作业的脚本

MySQL/Linux : Custom stopword file - permission denied

java - 在 Java 中解释/开发/输入/鼠标