首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【排查进程占用】

【排查进程占用】

作者头像
贺公子之数据科学与艺术
发布2025-08-29 19:43:48
发布2025-08-29 19:43:48
18200
代码可运行
举报
运行总次数:0
代码可运行

排查进程占用

代码语言:javascript
代码运行次数:0
运行
复制
C:\Users\>taskkill /PID 51560 /F
错误: 无法终止 PID 为 51560 的进程。
原因: 拒绝访问。

以及你通过 netstat 查到:

代码语言:javascript
代码运行次数:0
运行
复制
TCP    192.168.1.48:4001      1.12.12.21:443         ESTABLISHED     51560

🧾 问题分析:

  • 进程 ID(PID)为 51560 的进程正在使用 端口 4001
  • 但你运行 taskkill 时提示 “拒绝访问”,说明:
    • 没有管理员权限
    • 或者该进程是系统进程或受保护的服务(例如由系统账户运行);
    • 或者该进程是一个远程连接(如代理、隧道、反向连接)。

✅ 解决方案

✅ 方法一:以管理员身份运行 CMD 或 PowerShell(推荐)

右键点击“开始菜单” > “Windows 终端 (管理员)”“命令提示符 (管理员)”

再次运行:

代码语言:javascript
代码运行次数:0
运行
复制
taskkill /PID 51560 /F

👉 如果你有权限,这将成功终止进程。


✅ 方法二:查看该进程的详细信息(确认是否是系统进程)

在管理员终端中运行:

代码语言:javascript
代码运行次数:0
运行
复制
tasklist | findstr 51560

输出示例:

代码语言:javascript
代码运行次数:0
运行
复制
node.exe                    51560 RDP-Tcp#0                  1     12,345 K
如果看到是 node.exejava.exedocker 等普通进程:
  • 可以尝试终止;
  • 如果仍然失败,说明可能被锁定。
如果看到是 SYSTEMLOCAL SERVICE
  • 这是系统进程,不要尝试终止,否则可能导致系统不稳定。

✅ 方法三:改用其他端口启动你的 Spring Boot 应用(推荐开发时使用)

如果你无法终止该进程(比如它是某个后台服务或你不方便终止),可以修改你的 Spring Boot 应用监听的端口

修改方式:

application.yml 中:

代码语言:javascript
代码运行次数:0
运行
复制
server:
  port: 4002

或者在 application.properties 中:

代码语言:javascript
代码运行次数:0
运行
复制
server.port=4002

或者启动时指定:

代码语言:javascript
代码运行次数:0
运行
复制
java -jar your-app.jar --server.port=3002

✅ 方法四:检查是否是虚拟机、Docker、代理服务等占用

从你的 netstat 输出中:

代码语言:javascript
代码运行次数:0
运行
复制
TCP    192.168.1.48:4001      1.12.12.21:443         ESTABLISHED

说明:

  • 本机 4001 端口正在与 1.12.12.21:443 建立连接;
  • 这可能是某种代理、隧道、反向代理、远程调试工具、企业网络策略等。

可以尝试:

  • 检查是否运行了 frpngrokcloudflare tunneltailscale 等工具;
  • 检查是否是企业网络策略导致的代理连接;
  • 检查是否运行了 Docker 容器映射了 4001 端口;
  • 查看任务管理器中的后台进程,看看是否有可疑的 node.exe 或其他程序。

🧪 额外建议:使用 PowerShell 查看进程详情

在管理员 PowerShell 中运行:

代码语言:javascript
代码运行次数:0
运行
复制
Get-Process -Id 51560

输出会告诉你这个进程的名称、启动用户、占用资源等。


📌 总结

问题

原因

解决方法

taskkill 提示“拒绝访问”

没有管理员权限或进程受保护

使用管理员 CMD/PowerShell 终止

端口 4001 被占用

其他进程占用了 4001

终止进程 或 修改 Spring Boot 的 server.port

无法终止进程

是系统进程或服务

不要终止,改为换端口

想知道进程是啥

用 tasklist 或 Get-Process 查看详情

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🧾 问题分析:
  • ✅ 解决方案
    • ✅ 方法一:以管理员身份运行 CMD 或 PowerShell(推荐)
    • ✅ 方法二:查看该进程的详细信息(确认是否是系统进程)
      • 如果看到是 node.exe、java.exe、docker 等普通进程:
      • 如果看到是 SYSTEM 或 LOCAL SERVICE:
    • ✅ 方法三:改用其他端口启动你的 Spring Boot 应用(推荐开发时使用)
      • 修改方式:
    • ✅ 方法四:检查是否是虚拟机、Docker、代理服务等占用
  • 🧪 额外建议:使用 PowerShell 查看进程详情
  • 📌 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档