Eu tenho um programa que executo usando o nohup program &
. Este programa aceita entrada de STDIN
. Existe alguma maneira de enviar texto para STDIN
um programa que está sendo executado via nohup
?
Isso está no FreeBSD executando o bash. Eu gostaria de ver como isso é feito no Linux também.
Responder1
nohup
executa o programa com a entrada padrão redirecionada /dev/null
(assumindo que você não redirecionou o nohup
comando em si). Então não, você não pode enviar informações para este programa.
Se você deseja enviar entradas para o programa, redirecione a entrada ao iniciá-lo:
nohup program <input-file.txt & # input from a file
nohup data-producer | nohup program & # input from another program
mkfifo program.pipe; nohup program <program.pipe & # input from a named pipe, feed it what you want later
(Na verdade, pode ser possível reconectar a entrada padrão do programa a outra fonte, usando ptrace
, ou seja, um depurador ou outro hack. Isso pode travar o programa se ele rastrear de onde vem sua entrada. ConsulteComo posso pausar um processo em execução no ssh, rejeitá-lo, associá-lo a um novo shell de tela e retomá-lo?; há outras perguntas na rede SE sobre este tópico.)