如何判断两个文件描述符是否指向同一文件?
文件移动后文件描述符的有效性说明
没错,这是Linux/Unix系统下一个关键的特性:当你通过open系统调用获取到文件描述符后,这个描述符关联的是内核维护的文件表条目,而非文件在文件系统中的路径。所以哪怕其他进程把文件移到文件系统的另一个位置,甚至重命名,你手里的这个文件描述符依然能正常用来读写、关闭这个文件——内核通过inode追踪文件实体,和外部路径的变化完全无关。
下面是相关的示例汇编代码:
SYS_exit equ 0x3C SYS_inotify_init equ 253 SYS_read equ 0x00 SYS_open equ 0x02 O_RDONLY equ 0x00 O_WRONLY equ 0x01 O_RDWR equ 0x02 section .text global _start _start: mov rax, SYS_inotify_init syscall mov r13, rax ; storing inotify instance descriptor
内容的提问来源于stack exchange,提问作者St.Antario
相关产品推荐
相关产品推荐

