Quando você escreve uma gravação para /dev/pts/X
( /proc/6350/fd/0
, 1
e 2
é apenas um link simbólico para isso), o que acontece é exatamente a mesma coisa que acontece quando o processo 6350
(ou um de seus filhos, adequadamente bifurcado) produz algo: ele grava no terminal.
Se você tentar ler a partir desse dispositivo ( cat < /dev/pts/X
), coisas estranhas acontecerão. Você deve ver as coisas que digitar no shell original. (Possivelmente apenas após a primeira nova linha que você digitou - acho que o programa do terminal ( xterm
ou o que você estiver usando) faz algum buffer de linha, e o 6350
shell que foi bloqueado read
recebe esse pedaço; então, o shell pode ou pode não, ganhe as leituras subsequentes, mas eu posso estar completamente errado nisso.)
A questão é: quando você lê ou escreve nesse dispositivo, não está conversando com o outro shell que o está usando. Você está falando com o emulador de terminal ( xterm
por exemplo). Somente o emulador de terminal pode injetar dados nesse canal (o que o shell lê) e tudo o que o shell grava vai para o terminal. Anexar um segundo shell não muda isso.
Se você deseja injetar comandos nesse 6530
processo, terá que fazer isso através do terminal (seja um aplicativo X11 ou outra coisa).
Leitura recomendada: Qual é a diferença exata entre um 'terminal', um 'shell', um 'tty' e um 'console'?