如果我更改了进程的会话,该进程的 stdin 和 stdout 会改变吗?

如果我更改了进程的会话,该进程的 stdin 和 stdout 会改变吗?

我读过一个进程从终端获取输入和输出其会议与.有关。

那么这是否意味着如果我更改了进程的会话,进程的标准输入和标准输出就会更改(因为现在实际上进程终端已更改)?

这是我读到的地方

答案1

标准输入和输出通常连接到具体的端子线,例如/dev/pts/5。您可以在/proc/12345/fd(符号链接的目标)下看到它(替换12345为实际进程 ID)。这个目标绝对不可能自动改变为其他目标。为了更改这些,需要显式关闭所述文件描述符并显式打开新文件描述符。

我不确定在不太可能/不寻常的情况下会发生什么,即有人做了一些特殊的技巧并且标准输入和输出以某种方式指向/dev/tty.我想我从来没有见过这样的事情。我认为您的假设可能是正确的,并且在这种情况下输入和输出端子实际上可能会发生变化。

相关内容