inicia o processo em segundo plano, o terminal aguarda por LF / CR antes de retornar à linha de comando

0

Eu tenho um pequeno código em C que estou tentando executar em segundo plano. Quando eu lanço o programa com & , eu posso encontrar o processo no topo ou com ps, e vejo a exibição de E / S esperada no terminal ou em outro lugar, se canalizado para arquivo ou executado com nohup .

Aqui está o meu problema: em vez de iniciar o aplicativo e imediatamente retornar o controle para a linha de comando, o terminal parece esperar até eu apertar enter (ou usar a seta para cima para começar a percorrer o histórico de comandos) para exibir a linha de comando novamente. É possível iniciar o aplicativo em segundo plano e ter acesso à linha de comando novamente sem ter que pressionar Enter novamente? Eu tentei várias combinações de nohup , disown , 2>&1 , etc ... sem sorte.

    
por tpm1510 20.11.2017 / 16:23

1 resposta

1

O controle does retorna ao shell imediatamente após o lançamento do aplicativo, conforme mostrado pelo fato de você poder acessar o histórico com as teclas de seta. Por algum motivo, o shell não está imprimindo o prompt até que você retorne. Você pode verificar isso digitando um comando antes de digitar enter ( ls ). O resultado deve ser exibido na tela.

    
por 20.11.2017 / 16:30