说我有流程1和流程2。两者都有对应于整数4的文件描述符。
但是,在每个过程中,文件描述符4指向内核的“打开文件表”中的完全不同的文件:
那怎么可能?文件描述符不是应该作为打开文件表中记录的索引吗?
@ jw013我认为这听起来很熟悉。\ @Pithikos这不是重复的吗?
—
Michael Mrozek
这是一个很差的图表-它应该显示文件描述符4表示左侧文件描述符表的第四个条目 [嗯,第五个,它从零开始计数],而不是包含“ 4”的条目。实际的“ 4”位于包含该数字的用户空间变量中。另一个问题中的图表要好得多。
—
Random832
@ Random832好吧,如果我知道哪个图表是正确的,那么我可能永远不会提出这个问题。
—
Pithikos
4
两个进程中的fd 都与它自己的打开fd数有关。Fd0-2
(stdin,stdout,sdterr)始终为新进程打开,并且编号不只为该进程保留。