终端如何从stdout读取并在屏幕上绘制文本?

前端之家收集整理的这篇文章主要介绍了终端如何从stdout读取并在屏幕上绘制文本?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个关于终端和流程如何工作的一般性问题.

从任何进程,如果我写入stdout(即文件描述符2),它将在终端窗口上绘制.我的问题是,这是如何实际实现的? stdout是一个实际的’虚拟’文件,终端一直在阅读和在屏幕上绘制内容吗?或者在进程/标准输出流和终端之间是否存在某种IPC?

请注意,当我说终端时,我指的是一些通用的GUI终端/控制台,例如Mac上的终端.

附:如果这个问题不清楚,请告诉我,我很乐意再次尝试解释:)

谢谢!

当你包含stdio.h时,stdout是一个在那里定义的变量.

引用Wikipedia

stdout – a pointer to a FILE which refers to the standard output stream,usually a display terminal

而且,正如Russ C所提到的,一切都是Unix中的文件,所以你在这方面是正确的.

apparently,每个打开的unix程序默认将其输出,输入和错误流设置为stdout,stdin和stderr.但是,他们可以改变.就像你在redirect中使用’<'标准输入文件的终端一样,你可能会在语句中这样做

MysqL -u root -p dbname < ./data.sql

我想这并没有真正回答你关于实现的真实细节的所有问题,但是知道它是一个文件流可能会让你很好地了解正在发生的事情.

猜你在找的Bash相关文章