Estoy tratando de ejecutar el servidor weblogic en mi máquina Linux y obtengo el siguiente error:
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
Creo que el error significa que el puerto del depurador que por defecto es 8453 ya está en manos de algún otro servicio. ¿Cómo puedo averiguar qué servicio se está ejecutando en un número de puerto particular?
P.S: Utilicé el comando netstat
pero eso muestra todos los servicios que ocupan todos los puertos ... aquí solo estoy interesado en un puerto en particular.
Dos caminos:
lsof -i :port -S
netstat -a | grep port
Tu puedes hacer man lsof
o man netstat
para la información necesaria. Reemplace port
por el número de puerto que desea buscar.
Puede usar fuser
o lsof
es decir:
fuser 8453/tcp
lsof -i TCP:8453
Si desea más información de fuser
también puede usar el -v
bandera, es decir: fuser -v 8453/tcp
por lo que vale ... dependiendo de la versión de netstat
(específicamente GNU netstat
) que tiene, puede usar
netstat -punta | grep <port>
esto le mostrará las conexiones en los estados ESTABLECIDO y ESCUCHADO UDP y TCP e ignorará los sockets locales UNIX. el resultado final es un conjunto de resultados pequeño, limpio y agradable.
la -p
flag le dará la identificación del proceso y el nombre del proceso de lo que sea que esté usando ese puerto
la -u
la bandera muestra udp
la -n
la bandera es para direcciones numéricas
la -t
la bandera muestra tcp
la -a
muestra tomas de escucha y no escucha
En centos
/usr/sbin/lsof -i tcp:8453 (lsof -i protocol:port)
En ubuntu
/usr/bin/lsof -i tcp:8453
O, resultados estrechos de netstat usando filtros.