Como sei qual serviço está sendo executado em uma porta específica no linux? [duplicado]

48

Estou tentando executar o servidor weblogic na minha máquina linux e estou recebendo o seguinte erro:

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)

Acho que o erro significa que a porta do depurador, que por padrão é 8453, já está em espera por algum outro serviço. Como posso descobrir qual serviço está sendo executado em um número de porta parcial?

P.S: usei o comando netstat , mas isso mostra todos os serviços que ocupam todas as portas. Aqui estou interessado apenas em uma porta específica.

    
por Geek 23.01.2013 / 09:58

4 respostas

51

Duas maneiras:

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

Você pode fazer man lsof ou man netstat para as informações necessárias. Substitua port pelo número da porta que você deseja procurar.

    
por 23.01.2013 / 10:22
9

Você pode usar fuser ou lsof , por exemplo:

fuser 8453/tcp
lsof -i TCP:8453

Se você quiser mais informações de fuser , também pode usar o sinalizador -v , por exemplo: fuser -v 8453/tcp

    
por 23.01.2013 / 10:22
7

pelo que vale a pena ... dependendo da versão do netstat (especificamente do GNU netstat ) que você tem, você pode usar

netstat -punta | grep <port>

isto mostrará as conexões em ESTABLISHED e LISTEN indica UDP e TCP e irá ignorar os sockets locais UNIX. o resultado final é um conjunto de resultados pequeno e bonito.

o -p flag lhe dará o ID do processo e o nome do processo do que estiver usando essa porta

a bandeira -u mostra o udp

o sinal -n é para endereços numéricos

a bandeira -t mostra tcp

o -a mostra os sockets de escuta e de não escuta

    
por 23.01.2013 / 17:16
3

Em centos

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

No ubuntu

/usr/bin/lsof -i tcp:8453

Ou, resultados limitados de netstat usando filtros.

    
por 23.01.2013 / 10:39