windows如何解决端口被占用的问题

一、对端口的查看

1、打开黑窗口:

同时按下win+R(快捷键)后,在栏目中输入cmd(命令提示符,即命令窗口),点击确定。

 2、查看端口被占用的情况:

(1)、输入命令netstat-ano,会显示所用被占用的端口及其相关信息。

netstat-ano

PID(全称为Process Identification,进程标识符,即进程编号)。

 补充:

netstat后还可跟其他参数,参数不同,效果有点点区别。

1>netstat -a会显示自己的主机名,

2 >netstat -an,与netstat -ano相比,缺少端口对应进程的PID,看起来更简洁。

 

 3>LISTENING(listening)状态表示该端口开放,可提供服务,正在监听(等待请求)。

4>ESTABLISHED(established)状态表示连接已经产生,正在进行数据通信。

5>TIME_WAIT(time_wait)状态表示正在等待连接(即端口已经收到了外界发送的连接请求,但可能由于网速,也可能是其他问题,外界请求连接该端口但尚未连上)。

6>SYN_SENT(syn_sent)状态表示三次握手,常时间没TIME_WAIT仍没连上,会转为SYN_SENT状态,即外界(可以是本机)想连接端口,但端口没有响应。

7>FIN_WAIT1(fin_wait1)状态:

 在TCP连接中,客户机主动关闭连接,则向服务端发送FIN,客户机进入FIN_WAIT1状态,被关闭服务端响应进行确认(ACK),客户机接收后进入FIN_WAIT2状态。随后被关闭的服务端发送FIN给客户机,客户端响应进行确认(ACK)后,客户机进入TIME_WAIT。

 (2)输入命令netstat -ano|findstr "6380":(查询端口6380相关信息)

netstat -ano|findstr "6380"

 可查看某一端口的占用状态,这里以端口6380为例,被进程号为18568的进程占用。

 二、关闭进程

1、方法一:通过任务管理器关闭占用端口的进程:

(1)同时按下(ctrl+alt+delete,快捷键)后,点击选项中的任务管理器。

 (2)点击详细信息,根据之前在黑窗口中查找到的PID,定位到要关闭的进程,选中后,点击结束任务。

 2、方法二:通过黑窗口的命令关闭:

(1)根据上面的步骤,已经通过netstat -aon|findstr "6380"找到了端口6380对应的进程号PID为5448。

netstat -aon|findstr "6380"

(2)执行命令tasklist | findstr 进程号,可获取进程号18568对应进程名redis-server.exe

tasklist | findstr 18568

 (3)执行命令taskkill /f /t /im 进程名。

taskkill /f /t /im redis-server.exe

补充:通过进程号PID关闭正在执行的进程。

执行命令taskkill /pid 进程号 /f(因为之前PID18568对应的进程已经被关闭,所以开进程和关进程的操作再重新进行一次)。

1>开启redis:

2>通过端口号6380获取对应进程PID19056

 3>执行命令taskkill /pid 进程号 /f:

C:\Users\HUAWEI>taskkill /pid 19056 /f

三、通过进程号(PID)查看端口(port):

使用命令netstat -ano | findstr 进程号。

 如上图,根据进程号18568(PID)可获取该进程对应的端口6380(port)

### 解决禅道服务器端口占用问题 当遇到禅道服务器端口占用的情况时,可以采取多种方法来解决问题。具体操作取决于哪个组件的端口占用了。 #### 修改MySQL端口号 如果问题是由于MySQL端口占用引起的,则可以通过修改MySQL配置文件中的`port`参数来更改其监听端口。通常情况下,该配置位于`my.cnf`或`my.ini`文件内[^1]: ```ini [mysqld] port=3307 ``` 保存并重启MySQL服务使设置生效。对于Linux系统而言,可执行如下命令停止和启动MySQL服务: ```bash sudo systemctl stop mysqld.service sudo systemctl start mysqld.service ``` #### 调整Apache HTTP Server监听端口 假设80或其他常用Web访问端口已被其他应用程序占据,那么就需要调整Apache HTTP Server所使用的端口。这同样涉及到编辑相应的配置文件——通常是`httpd.conf`或者放置于`conf.d/`目录下的特定站点配置文件[^2]: ```apache Listen 8080 <VirtualHost *:8080> DocumentRoot "/var/www/html" </VirtualHost> ``` 完成上述改动后记得重新加载Apache以应用新的设定: ```bash sudo apachectl configtest && sudo systemctl reload httpd ``` #### 处理本地主机上多个服务竞争同一端口的情形 有时即使已经改变了软件本身的端口选项,仍然会面临冲突现象。此时应当检查是否有不必要的进程正在运行,并考虑终止它们;也可以通过防火墙规则允许外部连接至指定的新端口而阻止旧端口上的流量[^3]。 另外值得注意的是,在某些特殊场景下即便MySQL本身工作正常也可能影响到ZenTao平台的表现形式,比如页面显示为空白等问题。这类情况往往较为复杂,可能涉及到了缓存机制、权限控制等多个方面的影响因素[^4]。 #### 更新ZenTao内部链接指向 一旦完成了对外部依赖项(如数据库、web server)端口变更的操作之后,还需要确保ZenTao自身的配置也同步更新,特别是那些硬编码了IP地址加端口号的地方。一般可以在安装路径下的`config.php`里找到相关定义,并按照实际情况作出相应调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值