Будет ли вывод вывода вывода фонового процесса в качестве входного сигнала stdin переднего плана?

Когда фоновый процесс выводит на вывод stdout на терминал, будет ли выход выводиться как вход stdin в процесс переднего плана? Обратите внимание, что процесс background и переднего плана не связан по каналу.

У меня есть этот вопрос, потому что, когда процесс переднего плана ждет ввода stdin, я могу ввести терминал для его подачи. Вывод stdout фонового процесса, похоже, делает то же самое, то есть фоновый процесс «типы» в терминале, в то время как передний процесс ожидает ввода stdin . Итак, почему процесс переднего плана не выводит вывод stdout фонового процесса в качестве входа stdin?

По моему опыту, похоже, нет. Если я прав, почему нет?

Терминал концептуально отделен от процесса stdin и stdout . Это может сбить с толку, поскольку мы говорим о «терминале» как для ввода клавиатуры, так и для вывода на экран.

Тем не менее, процесс может считывать ввод с клавиатуры, не возвращая его обратно на экран. Например, когда вы входите в систему, ваш пароль считывается с введенного вами ввода, но он не отображается на экране.

И, конечно, процесс может печатать выходные данные на экране без ввода этого текста на клавиатуре.

Возможно (например, использование tee ) как записать выходной поток на экран, так и передать его другому процессу, но это не делает их одинаковыми.

Вкратце, печать чего-то на экране – это не то же самое, что печатать на клавиатуре , хотя мы используем слово «терминал» для описания того и другого.

Нет, потому что stdin и stdout являются отдельными каналами. Если вы явно не подключаетесь, соединение отсутствует. Вы не ожидаете, что вывод из ваших заявлений на печать будет входным для подчиненного ввода, не так ли?