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 yes
o no
que 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
y
en el stdin del proceso, puede hacer esto:Si desea seguir escribiendo
y
para cada solicitud que aparece, coreutilyes
existe 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
yes
usado en eones