经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口?
1、Windows平台
在windows命令行窗口下执行:
E:\oracle\ora92\bin>netstat
-ano |find ":80"
TCP
172.18.2.56:3311
172.18.40.3:80
ESTABLISHED 3704
TCP
172.18.2.56:3319
172.18.65.7:80
ESTABLISHED 3704
TCP
172.18.2.56:4641
172.18.40.3:80
ESTABLISHED 3704
TCP
172.18.2.56:4734
172.18.65.7:80
ESTABLISHED 3704
TCP
172.18.2.56:4847
172.18.40.3:80
ESTABLISHED 3560
TCP
172.18.2.56:4848
172.18.40.3:80
ESTABLISHED
3560
有个PID为3560的进程占用了80端口,继续执行下面命令:
E:\oracle\ora92\bin>tasklist
|find
"3560"
firefox.exe
3560
Console
0 147,564
K
可以发现是firefox的进程,并可看到占用的内存大小。
附netstat命令参数效果的对比:
E:\oracle\ora92\bin>netstat
-a |find ":8080"
TCP
wanhua:8080
0.0.0.0:0
LISTENING
E:\oracle\ora92\bin>netstat -an |find ":8080"
TCP
0.0.0.0:8080
0.0.0.0:0
LISTENING
E:\oracle\ora92\bin>netstat -ano |find ":8080"
TCP
0.0.0.0:8080
0.0.0.0:0
LISTENING 3796