我对 lseek 中使用的文件位置概念感到困惑。这个文件位置是保持在 inode 级别还是一个简单的变量,对于处理同一文件的不同进程可能具有不同的值?
最佳答案
根据 lseek docs ,文件位置与文件描述符指向的打开文件相关联,即 open 交给你的东西.由于 dup
和 fork
等函数,多个描述符 可以指向单个描述,但正是描述持有位置光标。
想一想:如果它与 inode 相关联,那么您将无法让多个进程以合理的方式访问一个文件,因为一个进程对该文件的所有访问都会影响其他进程。
因此,单个进程可以跟踪许多不同的文件位置,因为它具有给定文件的文件描述符。
关于c - 每个 inode 的文件位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13996073/