【发布时间】:2013-04-03 01:00:50
【问题描述】:
我有一个关于终端和进程如何工作的一般性问题。
从任何进程中,如果我写入标准输出(即文件描述符 2),它就会被绘制在终端窗口上。我的问题是,这实际上是如何实现的? stdout 是否是终端不断读取并在屏幕上绘制内容的实际“虚拟”文件?或者进程/标准输出流和终端之间是否存在某种 IPC?
请注意,当我说终端时,我指的是一些通用的 GUI 终端/控制台,例如 Mac 上的终端。
附:如果这个问题不清楚,请告诉我,我很乐意再次尝试解释:)
谢谢!
【问题讨论】:
-
Unix 的天才(?)是一切都是文件、设备和一切。
-
Stdout 是文件描述符 1。Stdin 是 0,stderr 是 2