Quiero ejecutar alguna aplicación en segundo plano y luego matarla por pid.Popen obteniendo pid del proceso de nueva ejecución
pipe = IO.popen("firefox 'some_url' 2>&1 &")
pipe.pid
Este código inicia firefox y me devuelve un pid, pero desafortunadamente no es el pid de firefox.
pipe = IO.popen("firefox")
pipe.pid
Este código inicia firefox y devuelve mi algo pid, el pid de firefox. ¿Hay alguna solución para iniciar la aplicación externa y obtener su pid? Firefox es solo por ejemplo podría ser cualquier otra aplicación. También probé con libs como: Open3 y Open4 pero parece tener el mismo efecto. También me pregunto si '$!' Bash variable es una buena solución para esto? Ejecuta algo en segundo plano y lee '$!', ¿Qué opinas?
¿Es el pid de cualquier proceso de ejecución? En general, el comando que comience con popen puede engendrar cualquier cantidad de otros procesos, por lo que si desea un pid específico de aquellos que necesita para encontrar otra forma de identificar el proceso que está buscando. –