Quando você emite uma gravação para /dev/pts/X
( /proc/6350/fd/0
, 1
e 2
é apenas um symlink para isso), o que acontece é exatamente a mesma coisa que acontece quando o processo 6350
(ou um dos seus filhos, adequadamente bifurcados) produzem algo: ele grava no terminal.
Se você tentar ler a partir desse dispositivo ( cat < /dev/pts/X
), coisas boas acontecerão. Você deve ver as coisas que você digita no shell original aparecer. (Muito possivelmente somente após a primeira nova linha que você digitou - eu estou supondo que o programa terminal ( xterm
ou o que você estiver usando) faz algum buffer de linha, e o shell 6350
que foi bloqueado em read
peça, então qualquer shell pode, ou não, ganhar as leituras subseqüentes, mas eu posso muito bem estar completamente errado nisso.)
A coisa é: quando você lê ou escreve nesse dispositivo, você não está falando 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ê quiser injetar comandos nesse processo 6530
, ele 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'?