[Py-MAD] POpen y process spawn

Francisco José Fernández Naranjo fjfnaranjo at gmail.com
Wed Apr 28 21:20:16 CEST 2021


¿Qué tal si creas un mini script de ejemplo en un Gist (o similar) que
podamos ejecutar los demás para validarlo?

Mirando la doc veo que el comportamiento es diferente en POSIX y en
Windows, coméntanos también en que env estás.

Con suerte, creando el mini script encuentras el problema, si nadie lo
ve antes...

On Wed, Apr 28, 2021 at 8:32 PM Pablo Conesa <pconesa at cnb.csic.es> wrote:
>
> Perdón, cambié el titulo parcialmente.
>
> On 28/4/21 17:52, Jesus Cea wrote:
>
> On 28/4/21 9:27, Pablo Conesa wrote:> En algun caso, "proceso2", lanza tambien procesos, de la misma manera
> > que lo hace la GUI, llamando al mismo código. Sin embargo, por algun
> > motivo, los nuevos procesos no quedan separados:
> >
> >
> > 2.- proceso 2 (separado de GUI) lanza
> >
> > 3.- proceso 3 (no separado de 2)
>
> 1. Siento decir que no entiendo lo de "proceso 3 no separado de 2". Si lo puedes explicar mejor...
>
> Tengo un proceso  "GUI".
>
> "GUI" lanza un proceso usando POpen (voy a llamarlo "worker")
>
> "worker" se lanza "separado" de "GUI". Es decir, puedo cerrar "GUI", incluso el terminal (linux) desde el que se abrió "GUI" y worker sobrevive. (Esto es lo que queremos que ocurra)
>
> Hay un caso especial de "workers" que generan otros workers....de la misma manera que hace "GUI". Es decir:
>
> "worker2" genera "worker3", "worker4",...
>
> Sin embargo, "worker3", "worker4" ... mueren al matar "worker2".
>
> Intento describir la secuencia:
>
> 1.- lanzo la applicacion:
>
> "GUI" activo
>
> 2.- Desde "GUI", lanzo "worker" y "worker2"
>
> Procesos activos --> "GUI", "worker", "worker2"
>
> 3.- Cierro la "GUI"
>
> Procesos activos --> "worker", "worker2"
>
> 4.- "worker2" genera "worker3"
>
> Procesos activos -->  "worker", "worker2", "worker3"
>
> 5.- hago un kill de "worker2":
>
> Procesos activos -->  "worker"
>
>
> worker3 ha desaparecido porque es un "child" the worker2 y no queremos eso.
>
> Queremos que sea un proceso 100% independiente de quien lo creo, de la misma manera que "worker" y "worker2" son independientes de "GUI".
>
>
> Espero que este más claro.
>
>
>
>
> _______________________________________________
> Asociación Python España: http://www.es.python.org/
> Python Madrid: http://www.python-madrid.es/
> Madrid mailing list
> Madrid at lists.es.python.org
> https://lists.es.python.org/listinfo/madrid
>
> --
> Pablo Conesa - Madrid Scipion team
> _______________________________________________
> Asociación Python España: http://www.es.python.org/
> Python Madrid: http://www.python-madrid.es/
> Madrid mailing list
> Madrid at lists.es.python.org
> https://lists.es.python.org/listinfo/madrid


More information about the Madrid mailing list