[Py-MAD] POpen y process spawn
Jesus Cea
jcea at jcea.es
Thu Apr 29 03:33:21 CEST 2021
On 28/4/21 20:31, Pablo Conesa wrote:
> 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".
Voy a suponer que estar hablando de entornos Linux/Unix.
Que un proceso muera cuando muere su padre es algo que se programa en el
código del hijo (y tal vez del padre, si le manda una señal). También
depende de si hay "pipes" entre los procesos. Si un proceso intenta leer
de un "pipe", y el otro lado ha muerto, el proceso receptor recibirá un
error. La gestión de ese error depende del proceso que lo recibe.
> worker3 ha desaparecido porque es un "child" the worker2 y no queremos eso.
En Unix, que un padre muera no implica que muera su hijo a menos que se
haya programado así. Si no haces nada especial, que se muera el padre no
implica nada. Forma parte del funcionamiento normal del sistema.
Yo diría que tienes algún tipo de comunicación entre el padre y el hijo,
y al morir el padre ese canal de comunicación se rompe y el hijo muere
como consecuencia de ello.
Mi consejo es que, si estás en Linux, usas "strace" en el "worker3" y
mates el "worker2" para ver qué recibe y cómo lo gestiona el "worker3".
Si estás en Solaris o derivados, la herramienta equivalente es "truss".
Una posibilidad que me parece remota, es que el padre esté usando
"sesiones", pero me sorprendería mucho. En unix haz "man 2 setsid" y
explora a partir de ahí. Pero ya te digo que me extrañaría mucho que un
proceso "random" utilizase estas funcionalidades "avanzadas".
En cualquier caso diría que esto no tiene relación con tu código Python
en el GUI, pero sin saber qué procesos lanzas y cómo están programados...
--
Jesús Cea Avión _/_/ _/_/_/ _/_/_/
jcea at jcea.es - https://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/
Twitter: @jcea _/_/ _/_/ _/_/_/_/_/
jabber / xmpp:jcea at jabber.org _/_/ _/_/ _/_/ _/_/ _/_/
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://lists.es.python.org/pipermail/madrid/attachments/20210429/1d02a343/attachment.bin>
More information about the Madrid
mailing list