|
发表于 2010-9-4 11:29:19
|
显示全部楼层
|
一,
" p. c2 [" s' i2 t& \ 1,6 h: j8 f) o7 f7 s; l, t
cmd 输入 netstat –ano
( s0 o3 m" c j0 w2 q5 s; l
2 ]3 t9 {4 g' w8 w 可以看到
7 r& m$ ^- ]# r, d7 i$ a2 c0 h9 ]9 g, u 2, q. ~* f5 v9 r1 `6 g k
例如我查80端口被什么占用了 对应的进程id是 3600
( d0 v) d4 z$ [2 `4 u8 g2 a- c) h7 y
9 e/ q2 ?7 ^" j c! |% k 再输入tasklist来查看 pid 3600是哪个进程什么程序在跑' n& r0 h3 z6 r8 ]9 a8 @( a# i
3,
' t( z9 y. @; r8 b. k 可以很快看到是tomcat6在用pid 3600 也即此占用了80端口
" u) y w, |) u' x y4 ~, a9 q4 l g/ d& f" ~5 k
此时可以用 taskkill /pid 3600 /t /f 快速关闭此进程
$ y1 y0 [5 i8 k1 j' v, c
' x& e$ u& o* |* f" e2 l# m* ~2 o) c; s: e
或者
* {/ w c! l; u% g- g0 s* z5 u
; o. k% p9 w9 f1 t, u @- y- f% n二, v4 `8 z- ]- _; v
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的pid 之后在任务管理器中找到这个pid所对应的程序如果任务管理器中没有pid这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法。
* w5 m0 ^6 t' z/ `9 g* r6 [. o6 q6 n, s5 m2 u5 b9 n
假如我们需要确定谁占用了我们的9050端口
9 ^; j) l7 t0 s6 v9 k 1、windows平台5 ~1 z x: [, f2 a
在windows命令行窗口下执行:
v" f c" a7 \9 u9 d c:\>netstat -aon|findstr "9050"$ d' k& q5 p" ]- f% o" p
$ s' d8 l. ~% ~! o& a tcp 127.0.0.1:9050 0.0.0.0:0 listening 20162 d( q* b& s m) v1 a8 x! r
5 r4 y* b' q2 \7 i. p 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:
d6 c* x' z# u4 k% f c:\>tasklist|findstr "2016"
* q! y. v/ q c, t$ f& y) q4 [0 n0 j4 e
tor.exe 2016 console 0 16,064 k5 q' b7 p; a' m! @( m5 x, _
很清楚吧,tor占用了你的端口。
$ b' q2 z% d$ e8 m# p
1 t2 a. u' q9 a2 f. c: c* y, h linux下:
0 ` e1 d) g( l f7 v" j1 h lsof -i :80
8 o i' x; f5 v( t: z& p k |
|