Java:检查哪些进程绑定到端口?

bgu*_*uiz 6 java port binding netbeans exception

我正在Netbeans中开发一个应用程序,它正在使用JavaDB.我可以连接到它并执行查询而不会出现问题,但由于某种原因,Netbeans中的"输出 - JavaDB数据库进程"窗格一直显示

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
Run Code Online (Sandbox Code Playgroud)

如何找出已使用或绑定到该端口的进程


在Ubuntu Karmic上,Netbeans 6.7.1

Pas*_*ent 13

要查找侦听端口1527的进程的pid,请使用:

$ netstat -ap | grep 1527
tcp6       0      0 localhost:1527          [::]:*                  LISTEN      31962/java      
Run Code Online (Sandbox Code Playgroud)

要么

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

然后:

$ 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
Run Code Online (Sandbox Code Playgroud)

而且我很确定你会发现的是与JavaDB相对应的Java进程的pid(我不知道除了JavaDB之外还有许多使用端口1527的进程).你是怎么开始的?

PS:我正在使用JavaDB,我在命令行上启动,在任何IDE之外.