缘起

从前有一个SpringBoot程序,我启动了它。很不幸启动失败,报错如下:

[2020-04-29 16:30:51.086] [main] [ERROR] [apache.catalina.core.StandardService:182 ] - Failed to start connector [Connector[HTTP/1.1-8081]]
org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-8081]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225)at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:261)at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:198)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:311)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:164)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:386)at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230)at onemore.study.EightZeroEightOneApplication.main(EightZeroEightOneApplication.java:18)
Caused by: org.apache.catalina.LifecycleException: Protocol handler start failedat org.apache.catalina.connector.Connector.startInternal(Connector.java:1020)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)... 13 common frames omitted
Caused by: java.net.BindException: Address already in use: bindat sun.nio.ch.Net.bind0(Native Method)at sun.nio.ch.Net.bind(Net.java:433)at sun.nio.ch.Net.bind(Net.java:425)at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:219)at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1156)at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:591)at org.apache.catalina.connector.Connector.startInternal(Connector.java:1018)... 14 common frames omitted

很明显,启动失败的原因是8081端口被占用了。这个很简单,找到占用端口的进程,把它杀掉就可以了。

寻找解决办法之路

查找占用8081端口的进程的PID:

C:\>netstat -nao | findstr "8081"TCP    0.0.0.0:8081           0.0.0.0:0              LISTENING       25056TCP    [::]:8081              [::]:0                 LISTENING       25056

根据进程的PID查找进程名:

C:\>tasklist | findstr 25056
macmnsvc.exe                 25056 Services                   0      7,548 K

根据进程名杀掉进程:

C:\>taskkill /f /t /im macmnsvc.exe
错误: 无法终止 PID 25056 (属于 PID 824 子进程)的进程。
原因: 拒绝访问。

拒绝访问?这是什么进程?搜了一下,原来是McAfee Agent,杀毒软件肯定有保护机制,无法结束进程。又搜了一下,McAfee Agent如何修改端口。只在McAfee论坛上找到了一篇几年的帖子,McAfee工程师是这样回复的:

按照McAfee工程师的指引,我没有找到对应的配置选项,可能是时间久远版本不同了。解决方法的寻找之路就此陷入了尴尬的境地。

最终解决办法

不过,在搜索的过程中,我发现一个叫做FrmInst.exe的程序,它用于McAfee Agent框架安装。它有很多参数,详见用于在 Windows 上安装 McAfee Agent 的命令行选项。我注意到一个参数:/REMOVE,如果 McAfee Agent 未使用,则将其删除。 如果正在使用,McAfee Agent 将更改为更新程序模式。 于是,我尝试了一下:

"C:\Program Files\McAfee\Common Framework\x86\FrmInst.exe" /REMOVE=AGENT

McAfee Agent开始被重新安装,重新安装后奇迹出现了,8081端口不再被占用了。

温馨提示:FrmInst.exe的路径可以不同,可以在McAfee的目录中搜索FrmInst.exe。

一条命令解决macmnsvc.exe占用8081端口的问题相关推荐

  1. 两条命令解决移动硬盘无法弹出的问题

    自从 Windows 10 更新到 20H2 版本后,几乎每次弹出移动硬盘都要碰到 "正在使用中" 无法弹出的问题,一般基于闪存的优盘直接狠心拔了完事,但是基于传统机械结构的移动硬 ...

  2. 两条命令解决移动硬盘无法弹出的问题(转载 )

    转载自 两条命令解决移动硬盘无法弹出的问题 | 呉真的博客 自从 Windows 10 更新到 20H2 版本后,几乎每次弹出移动硬盘都要碰到 "正在使用中" 无法弹出的问题,一般 ...

  3. 为什么python不能输入中文_一条命令解决mac版本python IDLE不能输入中文问题

    安装完Python通常自动就有了一个简易的集成环境IDLE,但在mac上,无法在IDLE中使用中文. 通常故障有两种情况: 1.在IDLE中,中文输入法根本无法工作,不会弹出输入框,所有的输入都被当做 ...

  4. python的idle无法输入中文_一条命令解决mac版本python IDLE不能输入中文问题

    安装完Python通常自动就有了一个简易的集成环境IDLE,但在mac上,无法在IDLE中使用中文. 通常故障有两种情况: 1.在IDLE中,中文输入法根本无法工作,不会弹出输入框,所有的输入都被当做 ...

  5. ntoskrnl.exe 占用 80 端口 怎样关闭 system 占用80端口的pid为4的进程

    ntoskrnl.exe 占用 80 端口 怎样关闭 system 占用80端口的pid为4的进程 解决办法 ntoskrnl.exe占用80端口导致Apache无法启动 通过禁用World Wide ...

  6. 1条命令解决不能完成此操作,因为项目“Karabiner-Elements”已被锁定

    问题:不能完成此操作,因为项目"Karabiner-Elements"已被锁定. 解决步骤: 1条命令即可解决该问题: 在任意目录下执行以下命令: sudo "/Libr ...

  7. MAC下同一个鼠标为什么比WIN10下感觉慢,无需插件一条命令解决!

    我的使用方式是鼠标插在win10主机上,然后通过synergy共享到Mac下,鼠标滑过去明显感觉到速度变慢,网络延时有一定的原因,但不是全部. 网上看到用Smooze来解决,不过安装过感觉并不舒服,后 ...

  8. windows命令行关闭已占用的端口

    在开发过程中,经常会出现端口被占用的情况,导致某些服务不能正常启动,有些小伙伴就会妥协换个端口号, 看到这篇文章的小伙伴们日后就不需要换端口了, 两行命令高效解决问题 查看别占用的端口 使用快捷键 W ...

  9. winspace.exe占用80端口

    电脑环境win11 今天在本地启动微服务项目的时候,发现服务起不来,报80端口被占用的错 然后,我就去查看到底是哪个进程占用了80端口 进入cmd,执行命令:netstat -ano | findst ...

  10. 启动tomcat发现80端口被ntoskrnl.exe 占用 80 端口

    原文:https://www.cnblogs.com/SnowLeopard666/p/10087899.html 1.netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口 2. ...

最新文章

  1. 智能驾驶L2发展策略
  2. 【百家稷学】深度学习与嵌入式平台AI实践(北京交通大学实训)
  3. OER 7451 in Load Indicator : Error Code = OSD-0450
  4. C# 利用反射机制开启控件双缓存
  5. 洲明科技与意法半导体合作开发新一代LED显示屏
  6. System 中的数学函数
  7. Django使用livereload自动刷新页面
  8. 电子计算机与其它计算机工具的本质区别是,电子计算机与其他计算工具的本质区别是...
  9. 西游记中最顶尖的妖怪
  10. 自定义控件-视觉特效
  11. win10设置默认中英文符号
  12. 数字营销专业术语介绍
  13. Elasticsearch集群原理、安装和基本使用
  14. 黑群晖NAS (ARPL引导)安装教程
  15. dorado弹框方式
  16. 【Daily Games——开发篇】:类QQ飞车商城的试衣间模块
  17. 费马大定理:一部跨时代的惊险小说
  18. matlab仿真参考文献,学生仿真论文,关于《MATLAB仿真》课程教学改革和相关参考文献资料-免费论文范文...
  19. add python to environment,Python 安装
  20. AOTF偏振光谱成像仪的原理及构造

热门文章

  1. STC15单片机-串口打印
  2. Java DataStore 封装代码
  3. php支付宝接口开发流程,对接支付宝支付接口开发详细步骤(证书签名方式)
  4. java导出excel锁定状态_填报表导出excel后不可写的单元格处于锁定状态
  5. WPS word文档_页眉页脚横线的添加和删除
  6. Java8中Map新方法:compute使用详解
  7. 一个vue项目同时兼容pc和移动端
  8. 数据产品经理真的比数据分析工资高吗?
  9. c语言多字符和宽字符,2.1.5 多字节字符和宽字符
  10. 阿里 vs. 腾讯,谁的收购更有眼光?