Tengo un programa que ejecuto usando nohup program &
. Este programa acepta entradas de STDIN
. ¿Hay alguna forma de enviar texto a STDIN
un programa que se está ejecutando nohup
?
Esto está en FreeBSD ejecutando bash. También me gustaría ver cómo se hace esto en Linux.
Respuesta1
nohup
ejecuta el programa con la entrada estándar redirigida /dev/null
(suponiendo que no redirigió el nohup
comando en sí). Entonces no, no puedes enviar información a este programa.
Si desea enviar información al programa, redirija la entrada cuando lo inicie:
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
(En realidad, es posible volver a conectar la entrada estándar del programa a otra fuente, usando ptrace
, es decir, un depurador u otro truco. Esto podría bloquear el programa si realiza un seguimiento de dónde proviene su entrada. Consulte¿Cómo puedo pausar un proceso en ejecución a través de ssh, rechazarlo, asociarlo a una nueva pantalla y reanudarlo?; Hay otras preguntas en la red SE sobre este tema.)