Windows根据TCP端口号查找进程PID再kill进程

Windows环境下,有时候TCP端口莫名其妙的被占用,导致正常的网络端口绑定失败,比如Android开发中,adb无法识别,有时候原因就是端口被占用。Java开发中,端口在占用情况下若再次绑定则抛异常:

错误提示:

java.net.BindException: Address already in use: JVM_Bindat java.net.DualStackPlainSocketImpl.bind0(Native Method)at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)at java.net.ServerSocket.bind(ServerSocket.java:375)at java.net.ServerSocket.<init>(ServerSocket.java:237)at java.net.ServerSocket.<init>(ServerSocket.java:128)

此时可使用dos命令找到TCP端口号被那些进程占用,然后根据该进程的PID将其kill。
假设我起了一个程序占用本地端口9999,那么如何找到9999端口被什么进程占用,进而kill掉这个进程呢?
具体步骤如下:

(第一步)使用dos命令:

netstat -a -b -o

显示当前计算机所有端口被占用情况。其中,-a  –b  –o 参数的意义:

  -a            显示所有连接和侦听端口。-b            显示在创建每个连接或侦听端口时涉及的可执行程序。在某些情况下,已知可执行程序承载多个独立的组件,这些情况下,显示创建连接或侦听端口时涉及的组件序列。在此情况下,可执行程序的名称位于底部 [] 中,它调用的组件位于顶部,直至达到 TCP/IP。注意,此选项可能很耗时,并且在你没有足够权限时可能失败。-o            显示拥有的与每个连接关联的进程 ID。

命令:

netstat -a -b -o

也可以合并为:

netstat -abo

结果相同。

(第二步)上一步输出的结果很多,如果有时间和精力,可以逐个用肉眼筛查,但是更智能化的方式是用命令筛查:

netstat -abo | findstr 9999

该命令中的findstr将根据提供的9999关键字查找包含该关键字的数据结果条目,筛选结果为:

最后面的13152即为占用9999端口的本地进程PID。

(第三步)经过第二步找到进程id :PID后,使用task kill命令即可kill该进程:

taskkill /F /PID 13152

至此,pid为13152的进程被kill,被占用的TCP端口9999得到释放。

在Android中,若是通过adb调试,adb提供一个命令杀掉自身占用的adb服务端口:

adb kill-server

反过来,启动adb则是:

adb start-server

Windows根据TCP端口号查找进程PID再kill进程相关推荐

  1. 根据端口号查找相应PID,从而在任务管理器中结束或查看相应进程

    任务管理器中的PID(Process Identification)是指进程识别号,也就是进程标识符.操作系统里每打开一个程序都会创建一个进程ID,即PID. PID是各进程的代号,每个进程有唯一的P ...

  2. pcb可以给用户进程读吗_「TCP/UDP」一个端口号可以同时被两个进程绑定吗? - 一口Linux...

    一.1个端口号可以同时被两个进程绑定吗? 根据端口号的绑定我们分以下几种情况来讨论: 2个进程分别建立TCP server,使用同一个端口号8888 2个进程分别建立UDP server,使用同一个端 ...

  3. tcp服务器修改端口号,RAKsmart服务器:Windows修改远程端口号的图文教程

    在使用RAKsmart服务器的时候,很多站长不会修改远程端口号,主机侦探教大家Windows修改远程端口号的图文教程. windows远程桌面默认使用的是3389,为了提高服务器安全性,可以修改默认端 ...

  4. Linux:如何通过端口号查找进程号?

    1.使用lsof命令 lsof 是"list open files"的缩写,在linux系统中,一切可是为文件,网络连接也可视为文件,因此,我们可以通过lsof命令查看占用某个端口 ...

  5. 80、443端口被占用,Pid=4,进程无法杀死,拒绝访问 解决方案

    80.443端口被占用,Pid=4,进程无法杀死,拒绝访问 解决方案 操作系统的两个重要的端口,一个是80端口,一个是443端口,这两个端口在网络通信的时候,起着至关重要的作用,在这里,先简单地介绍一 ...

  6. Linux系统根据端口号查找项目路径

    有时候项目部署的太多,都忘了放到哪里,只知道项目的访问端口,如何找到项目的位置呢? 如果知道项目部署在tomcat容器里:ps anx|grep tomcat 查找运行中的tomcat 程序.如果有运 ...

  7. RAKsmart:Windows修改远程端口号的方法

    在使用RAKsmart服务器的时候,很多站长不会修改远程端口号,主机侦探教大家Windows修改远程端口号的图文教程. windows远程桌面默认使用的是3389,为了提高服务器安全性,可以修改默认端 ...

  8. 端口号,一个端口号是否可以被多个进程使用?

    1.端口号的作用 端口号可以用来标识同一个主机上通信的不同应用程序,端口号+IP地址就可以组成一个套接字,用来标识一个进程 2.端口号的应用场景 在TCP/IP协议中,用"源IP地址&quo ...

  9. 端口号 一个端口号是否可以被多个进程绑定? 一个进程是否可以bind多个端口号?

    1.端口号的作用 端口号可以用来标识同一个主机上通信的不同应用程序,端口号+IP地址就可以组成一个套接字,用来标识一个进程 2.端口号的应用场景 在TCP/IP协议中,用"源IP地址&quo ...

最新文章

  1. 在字典里添加项_Python 字典(Dictionary)
  2. c#同步 oracle数据,利用C#实现数据同步功能 | 学步园
  3. 用 Flask 来写个轻博客 (23) — 应用 OAuth 来实现 Facebook 第三方登录
  4. 笔记-中项案例题-2017年下-收尾管理
  5. 写了本机器学习入门书
  6. SAP S4HANA里关于生产订单的一些重要数据库表
  7. 非常恶俗地分享一首歌曲(童年·葫芦娃)
  8. 将 ASP.NET Core 2.0 项目升级至 ASP.NET Core 2.1 RC 1
  9. java string对象创建对象_Java String 创建了几个对象
  10. 互相引用 spring_Spring-bean的几种循环依赖方式
  11. 卡方拟合优度检验(非参)
  12. java 中常见的文件上传方式_java中如何上传文件
  13. 最简单的直播礼物连刷特效制作(带源码)
  14. 肿瘤基因组变异相关概念
  15. 【历史上的今天】7 月 1 日:分时系统之父诞生;支付宝推出条码支付;世界上第一支电视广告
  16. ubuntu 18.04 下安装微信
  17. OSPF的NBMA环境建立邻居及排错,理论+实战讲解,干货分享
  18. Python入门习题大全——大号T恤
  19. 如何去掉CSDN中图片水印
  20. 2018面试题目总结1

热门文章

  1. 信息学测python知识点(三)顺序结构
  2. Application of Office 365 in Education Management (2)
  3. CE修改器入门:代码替换功能
  4. 发布Release版本
  5. Windows 11 安装Git
  6. 前缀表达式的计算机求值
  7. java 圈复杂度 工具_java sourcemonitor圈复杂度计算
  8. win7无法关机,无法关闭程序
  9. 30+宝妈北漂4年,从行政成功转行软件测试,在地铁站外喜极而泣......
  10. 互联网快讯:小红书启动最严医美治理;极米投影产品受消费者肯定;小米手机小爱同学新增上课模式