小编elo*_*one的帖子

子进程的默认标准输入和标准输出是什么?

我想知道子进程的默认标准输入和标准输出是什么(如果有这样的默认值)。子进程的 stdin 和 stdout 是否与其父进程相同?这是从父母那里继承的东西还是父母设置的东西?还是子进程的标准输入和标准输出插入父进程的标准输入和标准输出?

在我的理解中,父母和孩子不是通过管道传输的,而是首先是克隆,所以我认为孩子的标准输入和标准输出与父母完全一样,但我不确定。

例如,在bash作为登录 shell运行的终端中,如果我键入sh它将创建一个子 shell 进程,它将作为 stdin 键盘和 stdout 终端屏幕,因此与其父进程相同。我想了解孩子的标准输入和标准输出是如何定义的以及它们是什么。

我想知道例如在这种情况下,如果孩子的标准输入和标准输出与父母的标准输入一样,这是因为父母的标准输入通过管道传输到孩子的标准输入中,而父母只是将其输入“重定向”给孩子,或者孩子是否得到了它的直接从键盘输入。

在同样的情况下,如果父级和子级具有相同的标准输入,这是否意味着父级处理输入给子级的相同命令?为什么我们只能在终端中看到孩子的标准输入/输出而不是它的父母?

process stdout stdin

9
推荐指数
1
解决办法
1万
查看次数

什么设置 $SHELL 环境变量?

$SHELLUNIX 系统上首先设置的环境变量在哪里?

如何查找和打印我的终端的所有此类默认设置?

shell defaults environment-variables

4
推荐指数
1
解决办法
4856
查看次数

标签 统计

defaults ×1

environment-variables ×1

process ×1

shell ×1

stdin ×1

stdout ×1