• Publicidad

Problema con procesos

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Problema con procesos

Notapor kondenado » 2006-10-14 08:59 @416

Hace un tiempo aqui me recomendaron una web para solucionar un problema que tenía:

http://www.linuxjournal.com/articles/lj ... 237l7.html

Con ese ejemplo pude hacerlo, pero ahora tengo otro problema. A la hora de salir del script, hago un ps -aux y me doy cuenta de que el proceso ha creado varios procesos más y que siguen ahí. Además, a veces a la hora de salir intento dar un comando y el script sigue corriendo, mandando paquetes al servidor (lo que escribo). No puedo encontrar una manera efectiva de matar esos procesos y de salir correctamente del script.

Me quedan proceso del tipo: [per] <defunct>
Perl programming
Avatar de Usuario
kondenado
Perlero nuevo
Perlero nuevo
 
Mensajes: 43
Registrado: 2006-08-21 18:57 @831

Publicidad

Notapor explorer » 2006-10-14 20:53 @911

Lo normal... normal... es que si un padre tiene hijos... es esperar a que éstos mueran, antes de morirse él.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Perl user » 2006-10-15 12:48 @575

Que tal,

De hecho no, eso no es normal, implica que tuviste un comportamiento anómalo en las relaciones de tus procesos y que efectivamente el proceso padré murió antes que los procesos hijos y por ende los procesos hijos quedaron sin un parent-pid a quien reportar un SIGCHLD.

¿Qué significa esto? Que normalmente el proceso padre ( a menos que sea un daemon lo que estás usando ) debe esperar a que cada proceso hijo termine, mediante wait/waitpid. Si no se hace esto, los procesos quedan en un estado Zombie, y se irán acumulando en la tabla de procesos del sistema operativo. Entre más procesos Zombies generes, los recursos almacenados por dicha tabla irán creciendo. A menos que el sistema operativo sea lo inteligentemente capaz para ir verificado por zombie processes, estos serán almacenados.

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor macgregor » 2006-10-23 03:47 @199

Hola.
Tal y como te dice Perl User has de tener cuidado para no llenar de procesos zombies la tabla de procesos de sistema operativo....
Mirate esta web que explica detalladamente y con ejemplos como trabajar con procesos.

http://nereida.deioc.ull.es/~lhp/perlexamples/node313.html
Un saludo
MACGREGOR [TM]
Avatar de Usuario
macgregor
Perlero nuevo
Perlero nuevo
 
Mensajes: 80
Registrado: 2004-12-09 07:32 @355
Ubicación: españa


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados