IT技术博客大学习 共学习 共进步

windows命令行查看端口和进程信息,解决端口占用现象

懒人运维 2010-03-28 15:18:45 浏览 4,484 次

背景:今天在帮客户安装IIS后,启动IIS时。总是提示“该程序被占用”。刚开始以为网站目录中的文件被其他程序使用,折腾了很久。后来Google了一下,加上自己的理解初步估计是端口被占用。 故而使用netstat -an查看了一下,确实80端口被占用。从而引出二个问题:

1.查询出那个应用程序占用80端口?

2.在找到改应用程序后怎么杀死该进程?

大家知道在linux下使用 lsof -p 端口号 可以查看端口对应的进程。windows下面我们有以下办法解决:
答案1:使用netstat -anob查看那个pid占用80端口:

D:>netstat -anob | grep -A 2 80
  TCP    0.0.0.0:80           0.0.0.0:0              LISTENING       3204
  [FMSEdge.exe]
--
  TCP    127.0.0.1:843          0.0.0.0:0              LISTENING       2080
  [FetionVM.exe]
--
  TCP    192.168.100.93:1052    221.130.46.141:8080    ESTABLISHED     2080
  [FetionVM.exe]
--
  TCP    192.168.100.93:3230    121.101.220.180:35000  ESTABLISHED     5108
  [SecureCRT.exe]
--
  TCP    192.168.100.93:1723    58.248.245.14:80       CLOSE_WAIT      552
  [YodaoDict.exe]
--
  UDP    127.0.0.1:1080         *:*                                    1612
  [QQPenguin.exe]

从上面的结果,可以看出是FMSEdge占用率80端口。

答案2:杀死进程ID,记住80端口对应的进程号。然后:

  • 打开任务管理器
  • 进入查看->选择列
  • 选中PID前的checkbox
  • 点击确定。使用此命令可以查看win下所有开着的端口是被那个系统程序占用以及程序的pid

建议继续学习

  1. Oracle MTS模式下 进程地址与会话信息 (阅读 14,187)
  2. Linux内存点滴 用户进程内存空间 (阅读 12,946)
  3. 深入理解Nginx之调试优化技巧 (阅读 8,104)
  4. Linux上进程的表示以及入门 (阅读 7,643)
  5. Linux下进程绑定多CPU运行 (阅读 7,104)
  6. 分析进程内存分配情况,解决程序性能问题 (阅读 6,684)
  7. Linux下如何知道文件被那个进程写 (阅读 6,326)
  8. 使用GDB调试多进程程序 (阅读 6,243)
  9. 进程运行于不同的 CPU 核 (阅读 5,825)
  10. Linux进程的层次关系 (阅读 5,604)