问题遇到的现象和发生背景
以下是一则关于标注输入、标准输出和标准错误的描述:
按惯例、每当运行一个新程序时,所有的shell都为其打开3个文件描述符,即标准输入、标准输出、以及标准错误。如果不做特殊处理,例如就像简单的ls命令,则这3个描述符都链接到终端。
问题1:为什么是所有的shell,运行一个新的程序一定要通过shell吗?不能通过库函数?
问题2:这个3个文件描述符应该是所有进程通用的吧,下面说3个描述符都链接到终端,意思是标准错误、标准输入、标准输出,最终的数据都会显示在当前的终端上?