En UNIX, tengo un proceso que quiero ejecutar usando nohup. Sin embargo, este proceso esperará en algún momento cuando se me solicite que ingrese yeso noque continúe. Hasta ahora, en UNIX he estado haciendo lo siguiente:
nohup myprocess <<EOF
y
EOF
Entonces comienzo el proceso 'myprocess' usando nohup y pipe en un archivo con 'y' y luego cierro el archivo. Las líneas de arriba son efectivamente tres comandos separados, es decir, presiono enter en la primera línea en UNIX, luego aparece un mensaje donde ingreso 'y' y luego presiono enter para finalmente escribir 'EOF' y presiono volver nuevamente. Entonces esto funciona perfectamente, pero mi problema está debajo.
Ahora quiero ejecutar esto en Perl, pero no estoy seguro de cómo puedo ejecutar este comando, ya que tiene más de tres líneas. No sé si lo siguiente funcionará:
my $startprocess = `nohup myprocess <<EOF &
y
EOF
`

Respuestas:
Si solo desea escribir un single
yen el stdin del proceso, puede hacer esto:Si desea seguir escribiendo
ypara cada solicitud que aparece, coreutilyesexiste exactamente para este propósito: seguirá escribiendo lo que usted le diga a stdout. Su valor predeterminado es generar "y", por lo que puede simplemente:pero si necesitas algo más puedes pasarlo como argumento
fuente
yesusado en eones