晨鸟科技

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

作者: earlybird    时间: 2010-9-4 11:29
标题: 如何查看端口号被哪个程序占用了?
一,7 r$ ~- P4 Q- f! N/ b
        1,
8 \8 [4 @6 f$ H' Z        Cmd  输入 netstat –ano
! D: S9 H+ |) e' M
( I- J$ S" R0 Z& ^1 H5 c        可以看到
* x% w4 w" _0 V0 A# h8 Y3 l/ U1 a        2,
( y: P: r! O! t9 G# x: O8 q( z        例如我查80端口被什么占用了   对应的进程id是  3600. J$ B; @0 O4 K& F

3 T3 `8 |" z# x  v, A        再输入tasklist来查看 pid 3600是哪个进程什么程序在跑
: ^6 U6 V) Q1 e        3,8 a1 }$ U) O8 p" G
        可以很快看到是tomcat6在用pid 3600 也即此占用了80端口
; f# L. @7 D% h' {
4 F4 e3 J" z) u* ~# _1 W0 t        此时可以用 taskkill /pid 3600 /t /f 快速关闭此进程 3 L# t: {7 R; w0 n
+ c2 s: f# F) h$ w4 s: O
3 m) \# ^+ L) A
或者6 b0 x7 H4 o4 Q$ S( W* O
. v/ F( I7 t" D6 \
二,
. A2 D/ V$ |" B8 E        开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法。
2 ^! }3 T% z1 V% V% W# E
& _, w' b0 |% B1 f- @        假如我们需要确定谁占用了我们的9050端口
( g+ i, W" G3 t# Z        1、Windows平台
2 z4 S+ @9 {5 R7 J& y0 y- ~        在windows命令行窗口下执行:
$ c  \$ G1 y' W* y( W" n/ P: M        C:\>netstat -aon|findstr "9050"
4 ]2 G, @3 R! i* A
0 {3 g2 }! @2 `8 ]  W        TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
: {; ]" D9 X3 a6 ^# k5 Y! u# D# P$ i# E% p3 V- d6 k2 C- l
        看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:
! g6 a& R' F* A5 J* ^1 f( a8 X        C:\>tasklist|findstr "2016"9 h' y5 y7 {8 H

& I' ]+ L$ `3 X; ~% m        tor.exe 2016 Console 0 16,064 K
) c; E4 U5 }! p! a9 E        很清楚吧,tor占用了你的端口。: v9 Z/ \# q- n# G

8 R3 Z! }  i$ ?        linux下:$ A& o1 i$ T+ C' M. n
        lsof -i :80
  e) O3 Y- c0 F) I; C
作者: fangyong    时间: 2010-9-13 21:29
恩 学习了 !




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