晨鸟科技

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

作者: earlybird    时间: 2010-9-4 11:29
标题: 如何查看端口号被哪个程序占用了?
一,0 b$ s  \- N) L6 ^
        1,
2 B$ Z7 ]0 k2 q1 n6 F+ x6 J- ~3 P        Cmd  输入 netstat –ano* W- |9 f& w9 A6 t# V8 f
0 x4 T# M& P! C# Q3 F0 ~; i; |- D3 S
        可以看到9 H: M' V0 i9 j  w6 c
        2,
; K- N: ^1 j6 K. E! W2 g6 I; J8 p" x        例如我查80端口被什么占用了   对应的进程id是  3600* y3 `2 }# m8 s3 {
2 r" s3 I; u; f% K5 G/ K: I. }! h
        再输入tasklist来查看 pid 3600是哪个进程什么程序在跑% h- z9 ~3 ?3 w: F
        3,
& Q$ I2 |  D* ?2 L' V        可以很快看到是tomcat6在用pid 3600 也即此占用了80端口
; c: S: @  p4 c  _3 v& h  y' Y; `
! H  a* b5 W( d        此时可以用 taskkill /pid 3600 /t /f 快速关闭此进程 8 `, N, Y4 v; P( E: d! t  f

5 i1 K% J0 U) [! h& |) o6 u7 u$ [8 N5 N8 A* F- v
或者7 }& e' |/ r$ |6 L
/ ?- [" d8 x) r, x! x0 t1 a
二,
/ C4 w" X4 n3 W+ w& i        开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法。# V; M1 @9 f0 I

- x; ^! \* o+ h, m  q        假如我们需要确定谁占用了我们的9050端口
! }% B) b( {- [& [" t        1、Windows平台
* P. W# L: T$ ]& {        在windows命令行窗口下执行:1 G/ I+ o5 C$ @' ^
        C:\>netstat -aon|findstr "9050"
9 L7 V9 k  p" n& K  \/ ?6 d% F  `
        TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016* Q+ }' t0 P2 @/ s* A# n
, ^. |* Z. J% i  Y/ o; A; C
        看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:
6 P9 w( s$ H3 V        C:\>tasklist|findstr "2016"6 v  \, O! w  O% W0 O( {

& q& U+ V5 r7 B# k8 u        tor.exe 2016 Console 0 16,064 K8 Q$ B5 j# f; d2 M# p* \) ^
        很清楚吧,tor占用了你的端口。
% E4 I2 n- v1 p# x1 e& x
) t4 ~, e4 A4 C8 D( m6 j( ]5 q        linux下:0 }4 c$ H( G% t( ^5 N
        lsof -i :80
0 Z2 T8 M) H$ }4 H2 i1 p: I
作者: fangyong    时间: 2010-9-13 21:29
恩 学习了 !




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