Como encontrar o processo que está sendo executado em uma determinada porta no OSX

4

Eu quero executar um aplicativo da web na minha máquina local do OSX Lion. Quando eu for para http: // localhost: 8080 já existe um processo em execução, então recebo a seguinte mensagem:

Status Code: 404

Exception: Request URL / not found.<br><br>
Stacktrace:

Generated by Winstone Servlet Engine v0.9.10 at Wed Nov 30 13:01:15 CET 2011

Como posso encontrar o processo que é executado nesta porta no OSX. Eu encontrei várias entradas que fazem o mesmo no Linux, mas elas não parecem funcionar no OSX.

Muito obrigado.


Atualização 1 : Eu executando o comando lsof -i -P | grep 8080 resulta na seguinte saída

WebProces 174 petersmith   20u  IPv6 0xffffff80147e6cc0      0t0  TCP localhost:50059->localhost:8080 (ESTABLISHED)

Mas isso não me diz qual processo é responsável por criar a saída html que eu recebo no meu navegador, ao acessar o URL

Atualização 2 : Devo mencionar que quero instalar Jenkins CI na minha máquina e já existe uma instalação presente que parece ter um problema na minha máquina.

Besi
fonte
@slhck Eu fiz isso e atualizei minha resposta, mas ela não me diz qual processo está sendo executado. Curiosamente lsof -i tcp:8080 não resulta em nada ...
Besi
@slhck Parece que você está lendo minha mente. Seu link corrigiu o meu problema, se você postar uma resposta eu vou aceitá-lo feliz. Obrigado!
Besi

Respostas:

10

De uma maneira muito geral:

sudo lsof -i -P

… Irá listar todos os processos em execução em determinadas portas. Vejo esta resposta para mais detalhes.


No seu caso especial, Jenkins já está em execução. Esta pergunta sobre estouro de pilha tem mais informações: Não é possível executar o Jenkins no Mac . A solução parece ser:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

… O que também está relacionado à pergunta semelhante do Stack Overflow: Como parar o Jenkins instalado no Mac Snow Leopard?

slhck
fonte
curiosamente lsof não revelou que era o binário de Jenkins que estava "ocupando" a porta 8080
Besi
1
Ah, você sabe porque? Porque é provavelmente um processo do sistema e você precisa executar sudo lsof. Minha culpa. Corrigida a resposta!
slhck
Correto, lá vamos nós: java 54 jenkins 135u IPv6 0xffffff8014817e80 0t0 TCP *:8080 (LISTEN)
Besi