Когда вы выдаете записи в /dev/pts/X
( /proc/6350/fd/0
, 1
и 2
это просто символическая к этому), что происходит в точности то же самое , что происходит , когда процесс 6350
(или один из его детей, соответственно раздвоенный) Выходы что - то: он пишет терминал.
Если вы попытаетесь прочитать с этого устройства ( cat < /dev/pts/X
), произойдет что-то интересное. Вы должны увидеть вещи, которые вы вводите в оригинальной оболочке. (Вполне возможно, только после того, как вы набрали первую новую строку - я предполагаю, что терминальная программа ( xterm
или все, что вы используете) выполняет некоторую буферизацию строки, и 6350
оболочка, которая была заблокирована, read
получает этот кусок; тогда либо оболочка может, либо может нет, выиграйте последующие чтения, но я вполне могу ошибаться.)
Дело в том, что когда вы читаете или пишете на это устройство, вы не разговариваете с другой оболочкой, которая его использует. Вы говорите с эмулятором терминала ( xterm
например). Только эмулятор терминала может вводить данные в этот канал (что читает оболочка), и все, что пишет оболочка, отправляется в терминал. Присоединение второй оболочки не меняет этого.
Если вы хотите ввести команды в этот 6530
процесс, он должен будет сделать это через терминал (будь то приложение X11 или что-то еще).
Рекомендуемое прочтение: какова точная разница между терминалом, оболочкой, tty и консолью?