Disponibiliza trabalhos em segundo plano no shell pai

0

Às vezes, inicio vários processos usando outro script (no meu caso, Ruby). Eu chamo este script de um terminal rodando bash. Gostaria de iniciar esses processos no script em segundo plano (usando & ). Infelizmente, esses processos não são listados ao chamar jobs de dentro do terminal que executa o script. Eu acho que porque eles são executados em um sub shell. Isso dificulta gerenciá-los.

Existe uma maneira para que esses processos estejam disponíveis usando jobs no shell pai?

    
por Zardoz 25.04.2011 / 21:16

1 resposta

1

A única maneira é que as tarefas sejam iniciadas no shell pai.

No momento, você tem:

shell -> ruby -> shell -> command

Se você pudesse ter os comandos em um script de shell, e não em ruby, você poderia executar esse script de shell no shell atual com

$ source myfile.sh

ou short-hand:

$ . myfile.sh

Em seguida, todos os programas iniciados em segundo plano nesse script devem estar em trabalhos no shell atual.

    
por 25.04.2011 / 21:27