多个进程如何能够同时使用 STDIN/STDOUT?

4bh*_*bh1 3 c linux operating-system linux-kernel

多个进程如何同时访问 STDIN、STDOUT。他们每个人都有自己独立运行的实例,而不会在其他进程 i/o 中引起问题?

use*_*003 5

STDIN 和 STDOUT 只是 I/O 流的别名。每个进程都有自己的 STDIN 和 STDOUT。

但是,两个进程可以将它们自己的 STDIN 和 STDOUT 映射到同一个流。结果很奇怪。

尝试在后台运行多个从控制台读取和写入控制台的程序。

系统避免混乱的方式是通过系统保护。普通用户无法从终端运行程序来读取和写入其他人的终端。

但是,如果您想通过运行多个读取和写入控制台/终端的程序来搞砸自己,系统不会保护您免受自己的伤害。