Problemas con puertos en linux
Eduardo Silva
edsiper en gmail.com
Mar Jun 22 09:26:50 CLT 2010
el listen() y bind() los estas lanzando dentro de un fork() ?, si es asi, lo
que comunmente se hace es apenas el hijo se crea, se registra el PID en un
archivo, y cuando el padre sale lee el archivo del PID y manda un kill() en
caso de que el proceso hijo exista, asi te aseguras de que no quede nada
corriendo.
2010/6/22 Alvaro Gili <alvarogili en gmail.com>
> Gente, vuelvo a postear porque creo que no me hice entender.
> La aplicación que estoy haciendo yo es como por ejemplo el administrador de
> servicios de windows o el Bum que se puede instalar el ubuntu. Es una
> aplicación que dada una lista de demonios, monitorea su estado y a su vez
> permite arrancarlos y pararlos.
> Más allá de eso, mi aplicación también levanta un web service. Entonces la
> secuencia es asi:
> * Ejecuto mi aplicación la cual levanta su web service y muestra la lista
> de
> demonios que monitorea.
> * Ahora a través de ella ejecuto o pongo a correr uno de estos demonios que
> monitorea.
> * Supongamos, o en realidad es asi, mi aplicación se llama TrayMon y el
> demonio que ejecuta se llama FTM.
> * Dado todos los pasos anteriores ejecuto en la consola: "sudo netstat -nap
> | grep 3000" y me muestra en la consola:
> tcp 0 0 192.168.0.130:3000 0.0.0.0:*
> ESCUCHAR 2525/TrayMon
> * Ahora cierro mi aplicación(TrayMon) y el demonio queda corriendo (esta
> bien que sea así). Pero yo vuelvo a hacer el netstat y me muestra:
> tcp 0 0 192.168.0.130:3000 0.0.0.0:*
> ESCUCHAR 3064/FTM
>
> Observen como el puerto quedó asociado al demonio y esto no debería ser
> así,
> porque si bien el TrayMon ejecuta el FTM, son totalmente independientes
> entre si. Y por supuesto si quiero levantar de nuevo el TrayMon, me dice
> que
> el puerto está ocupado. Acá en la oficina creemos que es un problemas de
> "Padres e hijos", como que linux toma que el TrayMon es el padre del FTM y
> por eso hace esta asociación.
> Espero haber sido mas claro que antes, gracias y saludos.
>
--
Eduardo Silva
http://edsiper.linuxchile.cl
http://www.monkey-project.com
Más información sobre la lista de distribución Linux