c - 文件描述符和进程关系

标签 c file operating-system file-descriptor

文件描述符是相对于进程还是相对于操作系统?我基本上想知道的是,如果在一个c程序中我打开一个文件,并且该文件被分配了一个文件描述符值,比如说103,那么当我在其他一些c程序中打开一个文件描述符为103的文件时,我会指的是相同的文件或其他文件?

最佳答案

每个进程都有自己的文件描述符表。它是特定于处理器的,如果您更改fd,它将仅对该进程有效,不会影响系统中的其他进程。一旦进程终止,fd 将被丢弃。

What if I fork a new process from the process I opened that file?

当前文件描述表,即fork系统调用之前的表将被继承给子进程。

关于c - 文件描述符和进程关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32817392/

相关文章:

c - 调用函数 popen 中断进程

c++ - 截断或调整文件大小以修改其结尾

c - 抢救一部好手机来学习嵌入式编程?

c++ - 为什么在定义宏 ## 操作时有 2 层间接寻址

c - fread() 和 read() 哪个更好?

c - 打开 .txt 文件进行写入时出现段错误

batch-file - Windows 批处理系统信息到 HTML

python - 如何在Python中比较文件名?

c - 使用 Pthread (main) C 打印结果

java - 如何从一个文件中读取大量 JSON-s