Lanzar un proceso completamente independiente
Quería iniciar un proceso desde mi script de Python(main.py)
, específicamente quiero ejecutar el siguiente comando
`nohup python ./myfile.py &`
y este archivomyfile.py
incluso después de que mi script principal de Python salga.
Además deseo obtener elpid
del nuevo proceso.
Lo intentéos.spawnl*
, os.exec*
& subprocess.Popen
métodos, todos están terminando mimyfile.py
si mi script main.py sale.
Puedo estar olvidando algo.
Actualización: ¿puedo usaros.startfile
conxdg-open
? ¿Es un enfoque correcto?
Ejemplo
a = subprocess.Popen([sys.executable, "nohup /usr/bin/python25 /long_process.py &"],\
stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
print a.pid
Si revisops aux | grep long_process
, No pude ver ningún proceso en ejecución.
long_process.py que sigue imprimiendo algo de texto: sin salida.
¿Estoy haciendo algo mal aquí?