这是一个记录贴,偶然会遇到端口被占用问题,我的nginx好好地侦听着801端口,忽然有一天就不行了,发现801被其他vscode程序占用了,可能是我用vscode里面的ai插件修改nginx配置,然后ai的agent测试的时候占用了,找到对应的进程pid,然后用taskkill /pid xxx /F 这样子关掉,然后重新运行nginx就好。

查看占用的进程id
netstat -ano | findstr 801
查看进程id的详细运行路径
wmic process where "processid=14608" get Caption,ProcessId,executablepath
关闭占用的进程
taskkill /PID XXX /F

在Windows操作系统中,有多种方法可以查看端口占用情况以及对应的进程信息。下面是一些常用的方法:

方法1:使用命令提示符(CMD)

打开命令提示符:

你可以通过在开始菜单搜索“cmd”或“命令提示符”来找到并打开它。

使用netstat命令:

输入以下命令来查看所有网络连接和监听端口:

netstat -ano

这将列出所有TCP和UDP的连接和监听端口,以及每个连接的进程ID(PID)。

查找特定端口的进程:

如果你知道要查找的端口号(例如,端口80),你可以使用以下命令:

netstat -ano | findstr :80

这将帮助你找到占用该端口的进程的PID。

使用PID查找进程:

一旦你有了PID,你可以使用tasklist命令来查找对应的进程名:

tasklist | findstr [PID]

将[PID]替换为实际的进程ID。例如,如果PID是1234,则命令为:

tasklist | findstr 1234

方法2:使用PowerShell

打开PowerShell:

你可以通过在开始菜单搜索“PowerShell”来找到并打开它。

使用Get-Process和Get-NetTCPConnection命令:

输入以下命令来查看所有网络连接和监听端口:

Get-NetTCPConnection | Format-Table -AutoSize

这将列出所有TCP连接和监听端口。

查找特定端口的进程:

使用以下命令来查找特定端口的进程信息:

Get-Process -Id (Get-NetTCPConnection -LocalPort [PortNumber]).OwningProcess

将[PortNumber]替换为你要查找的端口号,例如5000。

方法3:使用资源监视器(Resource Monitor)

打开资源监视器:

你可以通过在开始菜单搜索“资源监视器”来找到并打开它。

查看网络活动:

在资源监视器中,选择“网络”选项卡。在这里,你可以看到所有网络连接和端口的详细信息。

你可以通过筛选或搜索特定的端口来找到占用该端口的进程。

以上方法可以帮助你在Windows系统中查看端口占用情况以及对应的进程信息。选择适合你的方法,根据需要查找端口占用的进程。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐