[Py-MAD] POpen y process spawn

Pablo Conesa pconesa at cnb.csic.es
Thu Apr 29 09:16:30 CEST 2021


Buena idea, voy a ver si puedo "sintetizarlo". Estoy en Linux.

Gracias, Francisco.

On 28/4/21 21:20, Francisco José Fernández Naranjo wrote:
> ¿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
> _______________________________________________
> 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 <http://scipion.i2pc.es> team*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.es.python.org/pipermail/madrid/attachments/20210429/d23829cc/attachment.htm>


More information about the Madrid mailing list