Canalizar/enviar comando para procesar la ejecución en nohup que acepta entradas de STDIN

Canalizar/enviar comando para procesar la ejecución en nohup que acepta entradas de STDIN

Tengo un programa que ejecuto usando nohup program &. Este programa acepta entradas de STDIN. ¿Hay alguna forma de enviar texto a STDINun 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

nohupejecuta el programa con la entrada estándar redirigida /dev/null(suponiendo que no redirigió el nohupcomando 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.)

información relacionada