duda

Jesus Cea jcea en argo.es
Lun Jul 4 18:17:10 CEST 2005


pepe wrote:
> Hola 
> Estoy intentando lanzar un trabajo mediante un padre que segun los trabajos k tenga crea un hijo.
> mi problema que ejecuto mediante os.execlp(x,x)y luego se me kda zombi el hijo y no konsigo matarlo.
> Alguien me podria explicar como matarlo
> ni con kill -9 lo consigo

Esto no es una pregunta de Python, sino UNIX.

En unix, un proceso solo "termina" del todo cuando su padre es informado 
de su status de salida. Osea, hay que hacer un WAIT en el padre.

Si no es "fácil" hacer eso, lo más simple es lanzar un hijo, que dicho 
hijo lance otro, el que realmente hace el trabajo, y que el primer hijo 
termine inmediatamente. El padre hace un WAIT que retorna inmediatamente 
(porque su hijo inmediato termina enseguida), y el nieto, que es quien 
realmente curra, al "morir" su padre (el primer hijo), es "heredado" por 
el proceso "init" del sistema operativo, cuya única misión en la vida es 
hacer "wait"  sobre procesos huérfanos :-)

La otra posibilidad es intercambiar los roles de padre e hijo. Pero sin 
tener más detalles es difícil ser más preciso.

-- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea en argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
                                       _/_/    _/_/          _/_/_/_/_/
PGP Key Available at KeyServ   _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz




Más información sobre la lista de distribución Python-es