我们经常遇到端口被其他进程占用的情况,下面的方法能够查到是哪个进程占用了我们需要的端口,并且能够关闭相应的进程:
1. 开始→运行→cmd 进入命令提示符;
2. 在cmd中输入netstat -ano,可看到所有连接,同时可以查看各端口对应的PID。
C:/Documents and Settings/Administrator>netstat -aon
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING 2588
TCP 0.0.0.0:25 0.0.0.0:0 LISTENING 2588
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 764
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:1084 0.0.0.0:0 LISTENING 2968
TCP 0.0.0.0:1088 0.0.0.0:0 LISTENING 2588
......
如果要查看具体某端口对应的PID,例如我们查看端口1088的信息,在cmd中输入netstat -aon|findstr 1088。
C:/Documents and Settings/Administrator>netstat -aon|findstr 1088
TCP 0.0.0.0:1088 0.0.0.0:0 LISTENING 2588
3. 根据PID查看进程:在cmd中输入tasklist|findstr "2588",可查看PID为2588的程序。
C:/Documents and Settings/Administrator>tasklist|findstr "2588"
inetinfo.exe 2588 Console 0 10,000 K
可以看到PID为2588的进程是inetinfo.exe。
4. 如果要关闭某个进程,在3的基础上,打开任务管理器中找到这个进程关闭即可。
还有一种方法就是不输入tasklist|findstr "2588"命令,而是直接在任务管理器中根据PID找到对应的进程(任务管理器中没PID一项,则在任务管理器中选"查看|选择列" ),然后关闭进程即可。
补充一下小知识:Netstat命令用法
命令格式:Netstat -a -e -n -o -s
-a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。
-e 表示显示以太网发送和接收的字节数、数据包数等。
-n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。
-o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。
-s 表示按协议显示各种连接的统计信息,包括端口号。
关闭端口
比如在Windows 2000/XP中关闭SMTP服务的25端口,可以这样做:首先打开“控制面板”,双击“管理工具”,再双击“服务”。接着在打开的服务窗口中找到并双击“Simple Mail Transfer Protocol (SMTP)”服务,单击“停止”按钮来停止该服务,然后在“启动类型”中选择“已禁用”,最后单击“确定”按钮即可。这样,关闭了SMTP服务就相当于关闭了对应的端口。
开启端口
如果要开启该端口只要先在“启动类型”选择“自动”,单击“确定”按钮,再打开该服务,在“服务状态”中单击“启动”按钮即可启用该端口,最后,单击“确定”按钮即可。