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

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

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

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

Responder1

O controle doesretorna ao shell imediatamente após iniciar o aplicativo, como mostra o fato de que você pode acessar o histórico com as teclas de seta. Por alguma razão, o shell não imprime o prompt até que você pressione Enter. Você pode verificar isso digitando um comando antes de pressionar enter ( ls). Seu resultado deve ser exibido na tela.

informação relacionada