晨鸟科技

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

作者: earlybird    时间: 2010-9-4 11:29
标题: 如何查看端口号被哪个程序占用了?
一,6 {( T# j& P9 @" C
        1,$ U5 a! b  z+ ?! ]& {; |
        Cmd  输入 netstat –ano% H( M- Z1 ]' j4 g

+ ?7 m2 X7 n! Y) S5 u% i        可以看到
) B& F) e& o6 x  k9 O9 [& m$ A        2,
' Q! ]! }( d1 U# l        例如我查80端口被什么占用了   对应的进程id是  3600
1 t6 K9 ^/ V& v- S( Y) Y4 }- o3 d  S9 b$ [$ E
        再输入tasklist来查看 pid 3600是哪个进程什么程序在跑4 W* g% o6 J4 }* x9 }- g
        3,: H; W* h4 Y% f5 [* n( s+ ]
        可以很快看到是tomcat6在用pid 3600 也即此占用了80端口5 d  O9 O' E# J. b" W

# d# \" h" U( ~5 H6 V" X- v        此时可以用 taskkill /pid 3600 /t /f 快速关闭此进程
" z/ P( f4 f) U8 R! b6 [8 O. u, d4 c7 N' h
7 @/ H: i7 [! d/ R/ M+ O
1 l- f9 B9 I: ~& T  W$ F6 d或者
% t* T8 u" L  ?3 _& p4 g- v% M
二,
8 R0 t- b5 `* @        开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法。
1 s, P4 I. R! I! A* O: b8 c2 R- s9 z3 @1 @2 q, U4 n8 Y
        假如我们需要确定谁占用了我们的9050端口
% u& n3 S* }% R3 \- q        1、Windows平台
' k& V+ N( F/ h  N        在windows命令行窗口下执行:/ L6 |4 a) T* z: q% w
        C:\>netstat -aon|findstr "9050"
% {6 A/ _- O& \/ F4 L( Z% ^
% S. Y* z/ V$ Y4 _* K0 [- M        TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 20165 l& |% m' ?# E6 [. S

: ~) G# O( j0 P  G. p# a        看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:8 P% m* f9 K5 B0 v% o6 ?0 ?2 E( o
        C:\>tasklist|findstr "2016"
/ G1 m3 [: K/ Q* h+ `
. W  Q4 ~5 u2 R  I        tor.exe 2016 Console 0 16,064 K
, K/ g0 f, s  L: ~7 S; W        很清楚吧,tor占用了你的端口。
: `; `5 J6 w& B5 u$ `
  S% b8 N! n2 V0 Y. m2 R1 L8 _4 D( ]: V        linux下:. V5 W8 }2 Q, ]' I3 e  e0 D; v
        lsof -i :80
2 }/ l4 E9 v1 w4 x
作者: fangyong    时间: 2010-9-13 21:29
恩 学习了 !




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