Windows上端口被占用,程序启动不了

这篇博客介绍了在Windows操作系统中如何检查特定端口是否被占用,并提供了使用netstat命令和taskkill命令强制关闭占用端口的进程的方法。这对于解决端口冲突和系统优化具有实用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开cmd

一、查看端口是否被占用

输入netstat -ano|findstr "你自己的端口号"

netstat -ano|findstr "10000"

 二、强行关闭

taskkill -f /pid 22136

 

### Windows 上 Redis 启动端口占用的解决方案 当在 Windows 平台上启动 Redis 时遇到端口占用的问题,可以按照以下方法排查并解决问题。 #### 1. 查找占用端口服务 通过命令行工具查找当前哪个进程占用了目标端口(默认情况下 Redis 使用的是 `6379` 端口)。可以通过以下命令实现: ```cmd netstat -ano | findstr :6379 ``` 上述命令会返回类似以下的结果: ``` TCP 0.0.0.0:6379 0.0.0.0:0 LISTENING 12345 ``` 其中最后一列的数字表示 PID (Process ID),即占用端口的进程编号[^1]。 #### 2. 结束占用端口的进程 获取到占用端口的进程 PID 后,可通过任务管理器或者命令行强制终止该进程。以下是具体操作方式: - **使用任务管理器** 打开任务管理器 (`Ctrl + Shift + Esc`),切换至“详细信息”视图,找到对应 PID 的进程名称,并点击右键选择“结束任务”。 - **使用命令行** 执行以下命令来终止指定 PID 对应的进程: ```cmd taskkill /PID 12345 /F ``` 这里将 `12345` 替换为实际查得的 PID 值。参数 `/F` 表示强制终止进程[^4]。 #### 3. 修改 Redis 配置文件中的监听端口 如果无法停止占用端口的应用程序,则可以选择修改 Redis 的配置文件以更改其默认监听端口。编辑 Redis 安装目录下的 `redis.windows.conf` 文件,定位到以下字段: ```conf port 6379 ``` 将其更改为其他未使用的端口号,例如 `7000` 或更高范围内的端口: ```conf port 7000 ``` 保存配置文件后重新启动 Redis 即可生效[^3]。 #### 4. 检查防火墙设置 有时即使解决了端口冲突问题,仍然可能因为系统防火墙阻止了 Redis 所需端口而导致连接异常。因此还需要确认防火墙规则允许新设定的端口访问权限。可以在控制面板 -> 系统和安全 -> Windows Defender 防火墙 中添加入站规则开放相应端口[^2]。 --- ### 示例代码:批量检测常用端口状态 为了方便快速判断哪些端口已被占用,下面提供一段 PowerShell 脚本用于扫描本地机器上的特定端口是否可用。 ```powershell function Test-PortAvailability { param ( [Parameter(Mandatory=$true)] [int[]]$Ports ) foreach ($port in $Ports) { try { $tcpClient = New-Object System.Net.Sockets.TcpClient $tcpClient.Connect("localhost", $port) Write-Output "$port is occupied." $tcpClient.Close() } catch { Write-Output "$port is available." } } } Test-PortAvailability @(6379, 8080, 7000) ``` 此脚本接受一个整数数组作为输入参数,逐一测试这些端口的状态并将结果打印出来。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值