El Sat, 27 Aug 2005 22:29:31 +0200 Pablo Marín Ramón <[EMAIL PROTECTED]> escribió:
> > adopte el comportamiento M$Windero... es decir, reiniciar el > > sistema. Sin embargo me gustaria que el hilo quedase abierto > > proponiendo otras soluciones a las que ya se han comentado aqui. > > Un proceso en estado "defunct" (o "zombie") es un proceso que llamó > a exit() o fue matado pero cuyo padre no le esperó con wait(). > Realmente no pasa nada porque figure en la salida de "ps"; todos los > recursos reservados para él ya fueron liberados (menos su entrada en > la tabla de procesos). > > Formas de borrarlo de la tabla de procesos: matar a su padre, de > forma que el proceso "init" lo herede y haga un wait() sobre él, o > reiniciar. En la mayoría de las veces, lo que tu dices es verdad. Pero yo he descubierto en varios OS que si haces un ls en un disco, y tiene problemas GRAVES, es decir, tiene problemas el módulo del kelmer o el disco, el proceso se queda esperanto una señal de IO, y al no recibirla nunca continúa esperando. El problema con ese tipo de procesos es que quedan en un estado muy especial (en el linux que estoy ahora figura como "D" "Uninterruptible sleep (usually IO)"). Con lo cual ninguna señal los mata (ni 9, 15, 1 ni las más raras que cada tanto se usan). El problema con este tipo de procesos es que la memoria que tenía ocupada/reservada, nunca es liberada, aparte de que se puede ir despidiendo uno de los datos que contenía ese volumen. -- Atentamente, yo <Matías> Y sin fumar desde (casi) el '1089515700' http://www.nnss.d7.be Let one walk alone, commit no sin, with few wishes, like an elephant in the forest -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]