Cerrar puerto Actvivo

Hola!

Tenia rato que no posteaba oigan tengo una incognita.En mi trabajo se presenteo el sig. problema :

Se metio una actualizacion a un proceso que abre un socket en el puerto 7177 de mi servidor el caso que se mato el proceso (para cargar en memoria el nuevo y supuestamente se debio de liberar el puerto) y no libero el puerto lo cual es muy raro ya que se supone que por default el S.O. da un time-out para la conexion de 60 seg.Lo raro es que el puerto libero despues de una hora y 15 minutos!! y fue hasta que libero que pude levantar mi proceso ya que utiliza ese puerto y valida que este libre antes de utilizarlo.
Mi pregunta al foro es que si alguien conoce como puedo forzar a que se libere o termine o reinicie todo lo que se este ejecutando en el puerto ya que mi duda es como libero o tal vez alguien mas de la gente que tiene acceso al server elimino la sesion que tenia ocupada el puerto.Pero como podria rastrear el proceso que lo esta utilizando(no la IP) asi como podria forzar a que se libere el puerto .Busque en la red y no encontre informacion util en verdad .
Espero me puedan dar su opinion en verdad me saco de onda por que no puede liberar solo por arte de magia!....

Saludos!!!!

netstat -atup

te muestra que proceso (PID) y que programa esta usando cada puerto

Gracias Walrus pero me falto comentar que el server es Solaris 5.8 por lo que no me reconoce la opcion -t y -u y opcion -p me imprime los protocolos...

Ojala me puedan echar la mano por que si me saco de onda eso mas que nada por el saber si alguien mas libero el puerto .....
De nuevo Gracias!!!

Fijate si tenes instalado lsof y correlo con estas opciones

lsof -i | egrep 'COMMAND|LISTEN|Idle'

cry no lo tengo instalado gracias por el tip no habia oido hablar de esta utilidad si alguien me puede dar mas info acerca del tema se las agradezco

:D

Si tenés netstat instalado podés hacer.
netstat -an | grep "LISTEN"
Puertos que están estuchando
netstat -an | grep "ESTABLISHED"
Conexiones establecidas

netstat -an | grep "ESTABLISHED"| grep "PORT"
Te debería decir la conexion establecida a ese puerto.
Salu2

Gracias por responder marco pero creo que me falto especificar que el puerto lo tenia establecido por que al parecer se quedo algo colgado de ahi (lo primero que hice fue el netstat etc etc) el problema radica en que el proceso que utiliza el puerto lo tenia que levantar lo antes posible pero no levanta al proceso por que me identifica el puerto ocupado bueno para no hacerla larga y repetir lo que escribi arriba lo que necesito es saber que proceso o que me esta usando el puerto!!! por que en si el puerto lo tenia como establecido y tardo mas de una hora en liberar lo que les pido es si saben forma de saber que proceso me esta usando el puerto ya que si hubiera sabido solo era cuestion de matarlo y no me hubiera tardado mas de una hora en levantar...

Gracias por las respuestas!!! :D

Gracias lo hare ya llegue a la conclusion que sin alguna utilidad como esta no encontrare la forma de saber que procesos me ocupan que puertos ...
Saludos!!! :D