`
轩风之逸
  • 浏览: 28295 次
  • 性别: Icon_minigender_1
  • 来自: 揭阳
社区版块
存档分类
最新评论

查看端口并结束端口

阅读更多
查看端口的命令:在开始菜单中选择运行


然后输入:cmd
出现了DOC界面,也就是我们常说的命令行界面了。
接下来我们要看看我们想要使用的那个端口号是否在启动,我们可以在命令行界面输入:
telnet <空格> localhost<空格> <端口号>  然后按回车键
例如输入:telnet localhost 8080

然后出现如下图的界面就证明该端口正在使用。

再例如,我们在命令行中输入:telnet localhost 8085  如果出现如下图所示的结果那就证明该端口没有被使用到。



接下来我们查看是那个程序占用了我们想要的端口在命令行的界面中输入:netstat <空格>–o
如果不知道怎么使用:netstat这个命令,可以输入:netstat –h然后按回车键显示他的使用相信信息

其信息为:
Netstat
显示协议统计信息和当前 TCP/IP 网络连接。

NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]

  -a            显示所有连接和监听端口。
  -b            显示包含于创建每个连接或监听端口的
                可执行组件。在某些情况下已知可执行组件
                拥有多个独立组件,并且在这些情况下
                包含于创建连接或监听端口的组件序列
                被显示。这种情况下,可执行组件名
                在底部的 [] 中,顶部是其调用的组件,
                等等,直到 TCP/IP 部分。注意此选项
                可能需要很长时间,如果没有足够权限
                可能失败。
  -e            显示以太网统计信息。此选项可以与 -s
                选项组合使用。
  -n            以数字形式显示地址和端口号。
  -o            显示与每个连接相关的所属进程 ID。
  -p proto      显示 proto 指定的协议的连接;proto 可以是
                下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
                如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:
                IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
  -r            显示路由表。
  -s            显示按协议统计信息。默认地,显示 IP、
                IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;
                -p 选项用于指定默认情况的子集。
  -v            与 -b 选项一起使用时将显示包含于
                为所有可执行组件创建连接或监听端口的
                组件。
  interval      重新显示选定统计信息,每次显示之间
                暂停时间间隔(以秒计)。按 CTRL+C 停止重新
                显示统计信息。如果省略,netstat 显示当前
                配置信息(只显示一次)


现在我们要真正查看谁占用了我们的端口了直接在命令行中输入:netstat <空格> -o

(图1)
如图所示,显示的结果有一个表格,该表格有五列分别指的是什么呢?
Proto :主要的意思。其实看他的表格里面的内容你就可以大概知道是什么意思了,就是以哪种连接方式的。有TCP和UDP连接
Local Address :意思是本地的连接地址和端口。
Foreign Address:外部连接的地址和端口。
State:这个就不用说了吧!是该连接的状态时什么情况的。
PID:这个就是一个连接的唯一标示,也就是他的ID号。(假如我们看到我们要使用的端口被占用了,我们就根据这个PID去资源管理器中关闭掉该进程就可以了)。
如图1所示。我们查看不到我们要查找到的8080端口,可是我们使用telnet <空格>localhost<空格>8080测试的时候却是被使用的,接下来就要使用组合命令来查看了。刚才使用netstat <空格>-h查看netstat这个命令的相关帮助的时候,我们可以使用netstat <空格>-a 就可以查看全部的连接情况了。
在命令行中输入:netstat<空格>-a

他将所有的连接都显示出来了,现在我们就看到了占用我们的端口了,可是却没有那个PID列,怎么知道是那个程序在使用该端口呢?现在我们可以使用组合命令一起使用在命令行中输入:netstat<空格> -a<空格> -o

结果出来了,占用8080端口的程序的PID为776。现在我们启动我们的资源管理器了。
我们可以在菜单栏右击—>>任务管理器(K)

或是按Ctrl+Alt+Delete组合键也可以打开资源管理器。

当我们打开资源管理器的时候出现了可是呢?怎么没有我们要的那个PID呢?是不是没有呢?呵呵不用急,这个只是资源管理器默认没有将PID这一列显示出来而已。我们可以将它显示出来。
在资源管理器中选择 查看>>选择列>>>将PID那一列勾上并点击确定按钮。




如上图所示现在我们要找的那个PID出来了。我们将命令行查出来的PID对应的结束掉该程序就可以了。
我们可以选中一个进程然后右击>>>结束进程。将该进程给关闭掉就可以了


现在我们将占用我们端口的进程给关闭掉了,接下来就是用:telnet<空格>localhost<空格>8080<回车>
查看该端口是否还是被占用。
呵呵正常情况下是没有被占用了。自己试试看吧!!蛮有意思的。

注意:
有时候一些端口被一些系统的服务占用了。我们在资源管理器不能结束掉他,因此,要么就是选择别的端口来使用,要么就停止掉对应的服务就可以了。这个我没有去尝试过,一般我不建议提示服务去解决这个方案,一般我使用换端口来解决。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics