content top


Liberando portas em uso pelo “command” do Windows

Liberando portas em uso pelo “command” do Windows

Hoje tive um problema quando fui rodar um projeto Java Web pelo JBuilder que foi o seguinte:

StandardServer.await: create[8081]: java.net.BindException: Address already in use: JVM_Bind
java.net.BindException: Address already in use: JVM_Bind

O que tudo indica é que o Java Virtual Machine não conseguiu rodar pois a porta 8081 já estava em uso. Eis que me surge a curiosidade de tentar descobrir qual programa estava usando tal porta.

Já sabia o primeiro passo: ver se realmente a porta estava em uso com o comando ‘netstat -na’.

Ao ver que a porta estava realmente em uso, procurei alguma forma de tentar libera-la, mas sem sucesso. Então procurei saber se algum processo estava usando-a com o comando: ‘netstat -abnovp tcp’ (demora um pouco pra carregar toda a lista). Então consegui saber qual era o processo usado por aquela porta, daí peguei seu PID (ultima coluna) e matei o tal processo ‘taskkill /pid XXX’ (XXX vc substitui pelo nº do PID). Pronto, resolvido o problema!

Uma outra solução encontrada posteriormente foi mudar a porta em que o serviço jsp/servlet fosse rodado. O padrão é usar a porta 8080, e ele ‘guarda’ as portas 8081 e 8082 para rodar serviços extras caso haja necessidade, e no meu caso ele usa a 8081 para rodar o JVM. Para mudar tal porta, basta abrir o projeto e seguir os passos:

Run > Configurations > Edit.

Na tela que abrir tem ‘Services’ > ‘JSP/Servlet’, ao seleciona-lo aparece a direta ‘Port number’, é so altera-la para 8083.

Créditos ao Ulisses Castro, que graças ao que achei em seu blog eu consegui resolver o problema através da primeira solução.

Link para o Blog.


1 Comentário »

  1. avatar comment-top

    Que bom que a relação de comandos serviu para algo que não seja pentest!

    Belo blog… added! :)

    [s]

    comment-bottom

RSS feed for comments on this post. TrackBack URL

Leave a comment