Window平台下通过cmd命令查看端口占用、查看进程、结束进程

本文介绍了Socket作为跨主机进程间通讯的方式,特别是在B/S架构和数据库服务中的应用。当遇到端口占用问题时,可以通过`netstat -ano`和`tasklist`命令找出占用进程并结束它,例如在MySQL服务中解决3306端口冲突的方法。
摘要由CSDN通过智能技术生成

一、概述:


        在学习进程间通讯的时候,我们知道有一种通讯方式叫做socket。对于跨主机之间的进程通讯,这种方式更为常见,比如常见的基于B/S架构的web服务就是这种通讯方式的一个常见应用,客户端通过  IP+PORT 找到位于服务端上监听此端口的进程,从而与该进程进行数据通讯。再如我们常见的MySQL数据库程序,通常我们会先安装mysql应用程序,设置其启动时监听的端口,这样,当我们启动这个程序的时候,mysql服务进程就会绑定相关的端口(测试的时候常用的是3306端口),进而可以接收来自于这个端口的请求,进行相关的处理,反馈。对于这类程序,有时候会出现由于端口被占用导致启动失败的情况,比如电脑上的一个进程已经绑定了3306端口,这个时候如果再启动mysql程序,就会出现端口被占用的错误。这个时候简单一些的处理方式是可以修改mysql使用的端口号,或者结束占用3306端口的进程。

(更多内容,可参考程序员在旅途

二、查看端口的占用情况

         打开电脑上面的一个终端,如cmd(开始-运行-cmd),键入  netstat -ano 命令,这时候就可以查看所有的端口占用情况,如下图所示:

 从图中可以看到 3306 被 pid为3608的进程占用。如果知道被占用端口号的话,也可以直接使用 netstat -ano|findstr "3306" 命令,如下图所示:         接着,我们可以使用 tasklist 命令查看pid为3608的进程到底是什么,命令:tasklist|findstr 3608 ,如下图所示:

可以看到pid为3608的进程是mysqld,这时候如果需要结束此进程,可以使用:taskkill /f /t /im 进程名称 命令,也可以在任务管理器中结束。

三 总结


 1,socket是一种进程间通讯的方式,使用的话需要知道进程所在的主机IP和绑定的PORT;

 2,查看端口被某一进程占用可以使用 netstat -ano|findstr "port" 命令,此命令可以找到占用进程的pid,然后使用 tasklist|findstr "pid" 找到进程名称,然后使用 taskkill /f /t /im 进程名称  结束进程。
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值