c - 每个 inode 的文件位置?

标签 c linux

我对 lseek 中使用的文件位置概念感到困惑。这个文件位置是保持在 inode 级别还是一个简单的变量,对于处理同一文件的不同进程可能具有不同的值?

最佳答案

根据 lseek docs ,文件位置与文件描述符指向的打开文件相关联,即 open 交给你的东西.由于 dupfork 等函数,多个描述符 可以指向单个描述,但正是描述持有位置光标。

想一想:如果它与 inode 相关联,那么您将无法让多个进程以合理的方式访问一个文件,因为一个进程对该文件的所有访问都会影响其他进程。

因此,单个进程可以跟踪许多不同的文件位置,因为它具有给定文件的文件描述符。

关于c - 每个 inode 的文件位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13996073/

相关文章:

c - 在用户定义的telnet服务器中如何获取客户端提供的telnet选项

c - 如何从预读()中释放内存?

linux - 我的引导加载程序不能用 gcc 4.6 和 4.7 编译...只有 4.5

linux - 将文本附加到以字符串开头的所有文件

C malloc 用例 - 重新分配与预计算

c - C中数组的初始化

在 C 中使用指针将大写字母转换为小写字母

linux - 在 linux bash 脚本中恢复

c++ - C/C++ 通过调用引用或直接释放指针

c - 这条线有什么作用?