为什么标准输入在linux中没有混合?

时间:2018-01-12 22:38:53

标签: c linux stdin file-descriptor descriptor

我们知道每个进程都预先设置了三个描述符:

0 (stdin), 1 (stdout), 2 (stderr)

为什么不同进程之间的stdin没有混合?毕竟,每个进程具有相同的描述符等于0。谁能解释一下呢?

1 个答案:

答案 0 :(得分:2)

每个进程都有自己的一组文件描述符。一个进程的文件描述符0不一定引用与另一个进程的文件描述符0相同的文件句柄。

内存地址也一样。由于内存虚拟化,每个进程都有自己的地址空间。不同的进程可以使用相同的地址用于不同的目的。