Comment savoir quel service s'exécute sur un port particulier sous Linux?

J'essaye d'exécuter le server weblogic sur ma machine Linux et j'obtiens l'erreur suivante:

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) 

Je pense que l'erreur signifie que le port du débogueur qui est par défaut 8453 est déjà détenu par un autre service. Comment puis-je savoir quel service tourne dans un numéro de port partiel?

PS: J'ai utilisé la command netstat mais cela montre tous les services occupant tous les ports ..ici je suis intéressé par un port particulier seulement.

Deux façons:

  • lsof -i :port -S
  • netstat -a | grep port

Vous pouvez faire l' man lsof ou l' man netstat pour l'information nécessaire. Remplacez le port par le numéro de port que vous souhaitez searchr.

Vous pouvez utiliser fuser ou lsof exemple:

 fuser 8453/tcp lsof -i TCP:8453 

Si vous souhaitez plus d'informations sur le fuser vous pouvez également utiliser l' -v , c'est-à-dire: fuser -v 8453/tcp

pour sa valeur … en fonction de la version de netstat (en particulier GNU netstat ) que vous avez, vous pouvez utiliser

 netstat -punta | grep <port> 

cela vous montrera les connections dans les états ÉTABLI et ÉCOUTE UDP et TCP et il ignorera les sockets locaux UNIX. le résultat final est un bel set de résultats soigné.

l'indicateur -p vous donnera l'ID du process et le nom du process de tout ce qui utilise ce port

le drapeau -u montre udp

le drapeau -n est pour les adresses numériques

le drapeau -t montre tcp

le -a montre les sockets d'écoute et non-écoute

Sur centos

 /usr/sbin/lsof -i tcp:8453 (lsof -i protocol:port) 

Sur ubuntu

 /usr/bin/lsof -i tcp:8453 

Ou, les résultats étroits de netstat utilisant des filters.