排查进程占用
C:\Users\>taskkill /PID 51560 /F
错误: 无法终止 PID 为 51560 的进程。
原因: 拒绝访问。
以及你通过 netstat
查到:
TCP 192.168.1.48:4001 1.12.12.21:443 ESTABLISHED 51560
taskkill
时提示 “拒绝访问”,说明: 右键点击“开始菜单” > “Windows 终端 (管理员)” 或 “命令提示符 (管理员)”
再次运行:
taskkill /PID 51560 /F
👉 如果你有权限,这将成功终止进程。
在管理员终端中运行:
tasklist | findstr 51560
输出示例:
node.exe 51560 RDP-Tcp#0 1 12,345 K
node.exe
、java.exe
、docker
等普通进程:SYSTEM
或 LOCAL SERVICE
:如果你无法终止该进程(比如它是某个后台服务或你不方便终止),可以修改你的 Spring Boot 应用监听的端口。
在 application.yml
中:
server:
port: 4002
或者在 application.properties
中:
server.port=4002
或者启动时指定:
java -jar your-app.jar --server.port=3002
从你的 netstat
输出中:
TCP 192.168.1.48:4001 1.12.12.21:443 ESTABLISHED
说明:
1.12.12.21:443
建立连接;可以尝试:
frp
、ngrok
、cloudflare tunnel
、tailscale
等工具;node.exe
或其他程序。在管理员 PowerShell 中运行:
Get-Process -Id 51560
输出会告诉你这个进程的名称、启动用户、占用资源等。
问题 | 原因 | 解决方法 |
---|---|---|
taskkill 提示“拒绝访问” | 没有管理员权限或进程受保护 | 使用管理员 CMD/PowerShell 终止 |
端口 4001 被占用 | 其他进程占用了 4001 | 终止进程 或 修改 Spring Boot 的 server.port |
无法终止进程 | 是系统进程或服务 | 不要终止,改为换端口 |
想知道进程是啥 | 用 tasklist 或 Get-Process 查看详情 |