windows和Linux端口号被占用的解决办法

【windows版】

用“netstat ”查看端口状态在Windows中,可以在命令提示符下使用“netstat ”查 看系统端口状态,可以列出系统正在开放的端口号及其状态

Netstat -a -e -n -o -s-an-a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。

-e 表示显示以太网发送和接收的字节数、数据包数等。

-n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。

-o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。

-s 表示按协议显示各种连接的统计信息,包括端口号。

-an 查看所有开放的端口


1.找到使用的端口号命令

【开始】---->【运行】---->cmd,或者是【window】+【R】组合键,调出命令窗口

netstat -ano列出所有端口的情况

2.找到被占用的端口号的PID后面的数字命令

netstat -aon|findstr "被占用的端口号"

3.查看哪个程序占用端口命令

tasklist|findstr "PID"

4.结束程序

taskkill /f /t /im 程序名.exe

或者3.4步可以从任务管理器操作

【Ctrl】+【shift】+【Esc】调出任务管理器,右击找到PID显示PID,找到对应程序,关闭

【Linux版】

因为我这是在虚拟机用centos镜像装的linux所以没有lsof命令
lsof是列出当前系统打开文件的工具

1.CentOS系统下安装lsof命令

yum install lsof

默认安装在/usr/sbin/lsof

1.找到占用的端口号命令

以root 用户来执行

lsof -i

如果不是root用户则在命令前加sudo   lsof -i 1

请添加图片描述

各列信息意义如下:
command :进程的名称 PID :进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述识别该文件。如cwd,txt等
TYPE:文件类型,如DIR,REG 等
DEVICE:指定磁盘名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称

2.查看指定某一端口的占用情况

lsof -i :端口号

3.如果只是为了关闭占用端口的进程到这一步就可以结束了

安装kill命令
yum  install -y psmisc

kill 进程PID或者killall 进程名
kill具体使用方法可以借鉴:https://linux.cn/article-9715-1.html

2.CentOS系统下安装netstat命令

yum -y install net-tools

1.显示tcp,ucp的端口和进程等相关情况

netstat -tunlp

-t (tcp) 仅显示tcp相关选项 -u (udp) 仅显示udp相关选项
-n 拒绝显示列名,能显示数字的全部转化为数字
-l 仅显示出在listen(监听)的服务状态
-p 显示潜力相关链接的程序名

2.查看指定端口号的进程

netstat -tunlp |grep 端口号

也可以

netstat -pan | grep 端口号

3.通过进程id查找程序

ps -aux | grep pid

PID不是端口,是系统分配给每一个进程的唯一标识符
是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序。

到这一步就能非常详细的确定是哪个进程占用端口了
请添加图片描述


  1. 这里有一篇专门写sudo用法的文章. ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值