晨鸟科技

标题: 如何查看端口号被哪个程序占用了? [打印本页]

作者: earlybird    时间: 2010-9-4 11:29
标题: 如何查看端口号被哪个程序占用了?
一,! C3 f9 W( ]0 Z" Z/ S' ?
        1,/ o! }7 |  ^9 P
        Cmd  输入 netstat –ano7 t5 o" ~1 C# \+ C: F4 U

5 i7 Z- W, o- b% O  x7 x5 c        可以看到0 R/ I6 R1 n4 ^! q# e) c2 P' W
        2,
3 p4 D: l5 H4 H! q$ v% {        例如我查80端口被什么占用了   对应的进程id是  3600
* d: d7 N7 Y0 M; j2 P- L* l6 H7 w0 P- \# c
        再输入tasklist来查看 pid 3600是哪个进程什么程序在跑; b1 S* t6 S! ^+ i, q# e/ H' R
        3,
1 N% t0 \/ S& n        可以很快看到是tomcat6在用pid 3600 也即此占用了80端口5 b8 ]# A0 g, a/ w& D

4 v: w2 X3 q) |- F        此时可以用 taskkill /pid 3600 /t /f 快速关闭此进程
- u  G  ~2 r4 r& m4 u. E
" M3 |) c( t% U8 B8 u* q
& t" {1 }- y2 V" N; U* G或者, `4 A/ u$ [# [  }/ l

) }( d7 e' i; q. [/ a% m二,1 q) u5 D$ z* s) I, K3 O0 f
        开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法。% D8 B6 c3 j5 Y+ `% E  P# q! f; T
7 ?5 O" {6 I' m/ ~* `9 `) N8 X4 v, A
        假如我们需要确定谁占用了我们的9050端口
6 ~3 e" }) f  n- g4 d! j( H' Q' s' Y        1、Windows平台
5 v2 a7 {" I% H3 R        在windows命令行窗口下执行:
0 U5 }) |0 u# s        C:\>netstat -aon|findstr "9050"& q: C) H; U! Z3 M) C% R& w/ A6 j
$ ?# _% f% Q3 c
        TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
- T% O; ?$ k: }( T0 p& G4 Q2 s- J6 Q7 e+ l) w9 c
        看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:
' h, X! x8 R% s8 T' L5 s        C:\>tasklist|findstr "2016"
3 p- x( S- M3 b: J* l' B1 P3 k2 ?; o1 N! g$ \  P) g! Y
        tor.exe 2016 Console 0 16,064 K$ s4 ^: u( `1 q- @7 \
        很清楚吧,tor占用了你的端口。6 o  R* M8 c6 K5 M3 o/ C; }
) y: S* J, x- e. q( w
        linux下:
. A9 j2 Y* s8 W: U3 D        lsof -i :80
( t7 X! L9 F" s
作者: fangyong    时间: 2010-9-13 21:29
恩 学习了 !




欢迎光临 晨鸟科技 (http://www.chenniao.com/cprofessor/) Powered by Discuz! X3.2