晨鸟科技

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

作者: earlybird    时间: 2010-9-4 11:29
标题: 如何查看端口号被哪个程序占用了?
一,
/ w5 D7 Y* B# O2 U- ?% Q        1,
) Q1 \& o9 |9 a        Cmd  输入 netstat –ano( u7 A* D  C1 {- B

7 i: I/ X+ Z5 X- O) Y7 s  h! A" [        可以看到$ a5 t% y$ d) U& [" [* U
        2,. y' _( }$ E! J* l; O
        例如我查80端口被什么占用了   对应的进程id是  3600
% t5 U" p# s7 t( h+ |+ P" A$ |1 `( l+ v. y
        再输入tasklist来查看 pid 3600是哪个进程什么程序在跑" U' N2 k6 P3 o" V4 A8 M
        3,* y! _: V9 R' Z- g& H. w
        可以很快看到是tomcat6在用pid 3600 也即此占用了80端口9 I( _  F/ z; C
3 ~  C; I' t9 u# K+ T" X- R
        此时可以用 taskkill /pid 3600 /t /f 快速关闭此进程
2 r- [' s& [6 J5 ^
$ U4 Z9 U, O. T* z% {; L2 n8 o3 q/ \/ X! `& Z/ Y: Y
或者
0 ~+ F) K# z' p6 r
8 |: P- x4 d# S4 b  Z二,
/ _9 }' s/ |0 g# D0 f        开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法。7 y& X2 |0 p, V

! S: f, t1 ^# I' Z        假如我们需要确定谁占用了我们的9050端口
% _  n1 I; j5 {4 c6 z9 Q        1、Windows平台3 l* O  o/ [. U/ V# e% m/ Z' h5 F
        在windows命令行窗口下执行:6 J8 F$ H2 ~# J9 S7 ?, `
        C:\>netstat -aon|findstr "9050"' M; F4 M5 `1 [& Y0 z4 ?- _# x

; [: }, ^/ D6 ]  t1 U/ l6 l        TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
% c& L$ u' W# {, W$ d
2 R3 I/ p+ K" p6 _        看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:1 L- T7 b% U0 O9 m' E" k8 r
        C:\>tasklist|findstr "2016"; P1 \  Q! }" W1 }! u* E

+ C  ?$ Z* E' q        tor.exe 2016 Console 0 16,064 K1 u8 }  _9 g# u6 d; p4 c$ d5 k
        很清楚吧,tor占用了你的端口。! A6 \/ k% q+ S
+ ^# O. `  I( E3 E4 m& u& U
        linux下:
3 i, I' ?8 @# z/ y9 v2 f$ ]        lsof -i :80 ! Q  r+ c- `: c+ P9 H

作者: fangyong    时间: 2010-9-13 21:29
恩 学习了 !




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