[Py-MAD] POpen y process spawn
Pablo Conesa
pconesa at cnb.csic.es
Thu Apr 29 12:40:36 CEST 2021
Bueno, parece que al final hemos entendido el problema, lo comparto por
si a alguien le resultase util.
Al final, tecnicamente nunca estabamos creando processos separados, ni
siquiera la "GUI".
Lo que ocurría, y era obvio pero se me estaba escapando, era que al
cerrar la "GUI", sus hijos pasaban a "separarse" ellos solos.
Sin embargo en un worker activo, al pararlo, parabamos todos sus
"children" que podria ser otros workers.
Lo hemos solucionado usando os.fork() en el script the "child":
# Create a child process # using os.fork() method pid = os.fork()
# pid greater than 0 represents # the parent process if pid >0:
sys.exit(0)
else:
# codigo del child ya corriendo separado
Perdemos el stdout y los "print" que hay echan abajo el proceso, pero
esto es un error nuestro: no debería haber prints y los sustituiremos
por logger.info()
Gracias por la ayuda!
On 29/4/21 9:27, Francisco José Fernández Naranjo wrote:
>> Buena idea, voy a ver si puedo "sintetizarlo". Estoy en Linux.
>>
>> Gracias, Francisco.
> Sure!
>
> Estube bicheando el código ayer aquí:
> https://github.com/scipion-em/scipion-pyworkflow/blob/devel/pyworkflow/protocol/launch.py#L239
>
> No encontré nada que llamara la atención. A nivel de Python. Pero
> claro, no se como llamáis a esa función y especialmente que pasáis en
> 'command'. La cosa es que al ejecutarlo con shell=True, el comando
> puede estar haciendo cosas muy arbitrarias. Por eso te recomiendo que
> lo reduzcas al caso más sencillo que reproduzca el error. Quizás
> conservando el cuerpo de esa función tal cual.
>
> Suerte!
> _______________________________________________
> 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/903910b2/attachment.htm>
More information about the Madrid
mailing list