2010-05-09 60 views
6

我正在Netbeans中開發一個應用程序,它使用的是JavaDB。我可以連接到它並沒有問題,執行查詢,但由於某些原因,「輸出 - JavaDB之外數據庫進程」中的Netbeans窗格繼續顯示Java:檢查哪些進程綁定到端口?

Security manager installed using the Basic server security policy. 
Could not listen on port 1527 on host localhost: 
java.net.BindException: Address already in use 

如何找出處理已經使用,或綁定到那個端口


在Ubuntu的業報,Netbeans的6.7.1

+2

請指定您的操作系統,最簡單的方法是操作系統特定的 – 2010-05-09 04:03:31

+1

你在什麼操作系統? – 2010-05-09 04:03:48

+0

@John Feminella:我在Ubuntu Karmic – bguiz 2010-05-09 04:15:46

回答

13

要找到偵聽的端口1527一個進程的PID,無論是使用:

$ netstat -ap | grep 1527 
tcp6  0  0 localhost:1527   [::]:*     LISTEN  31962/java  

$ lsof -i :1527 
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 
java 31962 pascal 28u IPv6 13413903  0t0 TCP localhost:1527 (LISTEN) 

然後:

$ ps aux | grep 31962 | grep -v grep 
pascal 31962 0.1 0.2 674936 4172 pts/1 Sl May08 1:23 /usr/lib/jvm/java-6-sun/bin/java -classpath /usr/share/javadb/lib/derby.jar:/usr/share/javadb/lib/derbynet.jar:/usr/share/javadb/lib/derbytools.jar:/usr/share/javadb/lib/derbyclient.jar org.apache.derby.drda.NetworkServerControl start 

而且我很確定你會發現什麼是對應於JavaDB的Java進程的PID(我沒有除了JavaDB之外,還知道使用端口1527的許多進程)。你是怎麼開始的? PS:我正在使用JavaDB,我在命令行上啓動了JavaDB之外的任何IDE。

+0

+1並檢查@Pascal Thivent:謝謝你的回答,真是太棒了! – bguiz 2010-05-09 05:06:53

+0

>你是怎麼開始的? 那麼我檢查了PPID,看起來Netbeans同時有兩個JavaDB runnign實例(我不知道這是怎麼發生的) - 通常它只有一個。 – bguiz 2010-05-09 05:13:38

1

兩個方案,這將有助於你出去是「lsof的」和「的netstat」這兩者都可以提供這些信息。我會給你打電話給他們的參數,但我正在使用我超大尺寸的iPhone來回答,查找過於繁瑣。這樣就留給讀者做練習;-)

+0

+1 @Ukko:謝謝你的回答! – bguiz 2010-05-09 05:07:18

相關問題