Oi!

On Thu 28 Mar 2002 13:15, Renato Riolino wrote:
> Suponhamos que eu abra um aplicativo (processo) no console 1 e comece a
> trabalhar com ele, e depois, por algum motivo, eu querar deixar de
> trabalhar com esse processo no console 1 e passar a trabalhar com ele no
> console 3, sem ter que fecha-lo ou reinicia-lo... eh possivel isso???

Quando abrimos um programa no terminal esse programa recebe descritores de 
arquivos, um para o stdin, outro para o stdout e outro para o stderr... eles 
sao externos ao programa podendo ser manipulados 
Quando fazemos:
top >/dev/tty8 2>/dev/tty8 </dev/tty8&
estamos dizenso para o bash que arquivos (ou melhor, dispositivos) devem ser 
abertos para stdout (>/dev/tty8), stderr (2>/dev/tty8) e stdin (</dev/tty8).
Claro que o proprio programa pode fechar e abrir outros dispositivos e fazer 
o redirecionamento q vc quer, mas teria que escrever uma rotina para isso no 
proprio programa.

> Eu sei q eu poderia rodar o processo top por exemplo, e usando a
> combina��o de teclas Ctrl-Z joga-lo em background....  (meio passo
> andado), por�m, se eu for num outro terminar e der o comando fg (para
> jogar o processo para primeiro plano novamente) ele n�o encontra o
> processo...  (coisa que eu posso confirmar rodando o comando jobs que
> tbem me rotorna que nao ha nenhum processo aberto).
>
> Mas voltando para o console 1, e digitando fg o processo retorna para
> primeiro plano.
>
> Pelo q me parece, mesmo jogando o processo em segundo plano ele fica
> preso ao console que o chamou.

isso eh ocorre pq quando vc figita coloca um processo em bg quem esta 
gerenciando isso eh o bash que tambem eh um processo. quando voce vai para 
outro term voce esta em outro bash, outo processo, o bash so pode gerenciar 
os processos rodando sob ele. 

> Existe algum meio de jogalo de um console para o outro??  (na verdade a
> minha verdadeira inten�ao � jogar um processo de um xterm da vida para o
> console e vice-versa), espero que algu�m possa me ajudar.

Talvez :-)
Se o program for seu tem como fazer escrevendo rotinas para isso no proprio 
programa como eu falei acima.
Se voce nao tiver os fontes ou nao pode alteralos a unica outra maneira que 
vejo seria fechar os descritores e reabrilos em outro lugar mas quem esta 
gerenciando isso eh o kernel, nem o root pode manipular isso, teriamso que 
escrever um modulo.
Ou seja, da para fazer mas vale o esforco?

-- 
CRG
Linux user: #76132
GPG Key ID 65F2187D 
Libertas pecunia lui non potest.


Assinantes em 29/03/2002: 2231
Mensagens recebidas desde 07/01/1999: 160157
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: 
            mailto:[EMAIL PROTECTED]

Responder a