欢迎光临BDM
一枚菜鸟码农的成仙之路

解决端口占用及快速定位Java进程

前言

Java Web 初学者遇到启动时 8080 端口占用、端口冲突的问题,经常会不知所措,无法快速定位到问题所在,本文教大家如何解决 Java 端口冲突问题,并介绍各平台下如何快速定位 Java 进程。

思路

为什么会有端口占用呢?对于一台服务器来说,最多有 65536 个端口,这是由 TCP/IP 协议决定的。每一个应用程序对端口的使用是一个萝卜一个坑的事情,先来后到,后来的应用程序试图注册监听被占用的端口时,便会得到操作系统反馈的端口已被占用的消息。

为了解决端口占用的问题,我们首先要知道前面占用端口的应用程序是什么。如果你是频繁启动自己的 Tomcat 导致的,多数是由于之前的 Tomcat 应用程序尚未正确关闭,这时直接往下看,根据步骤解决掉对应的 Tomcat 进程即可;如果第一次启动时便报出了端口占用,首先仔细想想是否是正在运行其他项目的 Tomcat 应用导致端口占用,然后对涉及的项目作相应的端口调整,如果不是,则先根据下述步骤找到相关的进程,然后再对其进行处理。

查找进程

Win 10 下查找进程

  1. Ctrl + Alt + Delete 打开【任务管理器】,选择【性能】-点击【打开资源管理器】

  1. 【资源管理器】界面中,选择栏目【网络】,点击【侦听端口】下的标题【端口】,将其排序,以快速定位到冲突的端口,如 Tomcat 默认端口 8080,然后记住该进程的进程编号【PID】,这里是 3144。

  1. 回到【任务管理器】,选择栏目【详细信息】,再点击标题【PID】,将其排序,根据之前记住的 PID 找到对应的进程。

  1. 鼠标【右键】该进程,会出现多种操作选项。如果已知该进程是由自己发起的或者结束也不会影响该系统的运行,则直接选择【结束任务】,如果无法确定该进程由何发起,使用【打开文件所在位置】进入相关目录对该进程进行查看后再进行处理。

  2. 对于无法分辨的 Java 进程来说,右键【打开文件的位置】可能对 Java 进程的识别来说并不奏效,该操作均会指向 JRE 所在目录。这时在任务管理器中可以通过【右键标题栏】-【选择列】来选择显示【命令行】,添加了该项后,将显示该进程执行的详细命令,更有助于定位 Java 进程对应的项目。

至此,Windows 系统下的介绍结束,旧版本系统大同小异,主要通过相关端口获取到 PID,再通过 PID 定位到具体进程。

本文遵守知识共享署名-相同方式共享 4.0 国际许可协议,未经允许不得转载BigDickMan » 解决端口占用及快速定位Java进程

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

联系我们GitHub