He intentado correr cosas como esta:Ejecutar un programa de pitón, y hacer que siga funcionando después de que el script se mató
subprocess.Popen(['nohup', 'my_command'],
stdout=open('/dev/null', 'w'),
stderr=open('logfile.log', 'a'))
Esto funciona si el guión padre sale con gracia, pero si mato a la secuencia de comandos (Ctrl-C), todos los procesos de mi hijo son asesinados también. Hay alguna manera de evitar esto?
Las plataformas que me interesan son OS X y Linux, usando Python 2.6 y Python 2.7.
Si me bifurco, y luego mato la mitad de la horquilla (en lugar de permitir que salga), ¿eso matará el nuevo proceso? – James
Bien, después de leerlo más a fondo: ¿esto requiere bifurcar dos veces para evitar recibir señales? Me gustaría que el proceso principal siga siendo interactivo; su trabajo es supervisar los procesos que genera, lo que no es posible si tiene que rechazar el shell. – James
¡Gracias! He agregado mi implementación a tu respuesta. – James