晨鸟科技

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

作者: earlybird    时间: 2010-9-4 11:29
标题: 如何查看端口号被哪个程序占用了?
一,( C8 l5 ]8 U( U% B8 C
        1,
, C# O$ u2 ~) b0 f* v6 c        Cmd  输入 netstat –ano
8 o3 F$ {1 M2 |* ^. U; p2 S9 S0 k
* b; l0 P8 W( ?4 Y: I. L$ {/ U        可以看到) d5 _% ]+ p! p
        2,
8 G. v! |! k9 z1 Q& w        例如我查80端口被什么占用了   对应的进程id是  3600( i( H6 h% R- d! C6 E

) D- N5 }" w) ?( l1 P, N        再输入tasklist来查看 pid 3600是哪个进程什么程序在跑
' v9 u6 Q# x" l# i3 V- ?# L. y        3,& j1 h! A" z, u1 {- Q: c$ R
        可以很快看到是tomcat6在用pid 3600 也即此占用了80端口, c; v  V) b, U4 X  z0 C! l
0 ^( e5 d7 j) E& ]
        此时可以用 taskkill /pid 3600 /t /f 快速关闭此进程 . K& A" O# }& u( _: D$ o. W8 u

4 H, D; m  L# ^6 |0 }( k) w, A* [8 s' h
或者, A( ~8 {1 e" m, l. ~" z' Z
2 V8 n0 c: q6 X. P+ y1 f, R* R" ^
二,
. k. d2 l0 E& ]3 E        开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法。
* |$ W/ B. l1 a5 v2 A1 W2 q3 \; s* C" b7 O, m! q
        假如我们需要确定谁占用了我们的9050端口
: Y) J! |6 C, F, m$ B: J% M        1、Windows平台
: M$ i( r( t4 L4 C2 x6 A: ?        在windows命令行窗口下执行:
* H) X7 E8 O) g3 G  t3 ]* ~        C:\>netstat -aon|findstr "9050"7 L2 ]+ h- L/ {' ]1 z5 b" k* c
& o& M& N1 m1 T$ J5 f" I
        TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
5 }- Z) I: i' ?3 y  y" c
1 P' }$ i/ M: N8 G* ]7 D9 X8 l        看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:7 J& I8 e& u' d: s% }
        C:\>tasklist|findstr "2016"3 }1 m, ^3 B1 _1 D& j% E
; E) X; u- W. w- d3 R% ?1 O6 D
        tor.exe 2016 Console 0 16,064 K" j8 T. ?4 @6 J5 x6 {
        很清楚吧,tor占用了你的端口。5 i8 v; k, j& Q8 Z* }( h

1 M3 m& U0 m8 ?2 O. W# |* F8 l        linux下:
. x  g! W. k2 V9 J        lsof -i :80
9 L3 B' [" ]' R) G8 ~: s: [
作者: fangyong    时间: 2010-9-13 21:29
恩 学习了 !




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