linux netstat 端口占用

本文详细介绍在Linux环境下如何使用lsof和netstat命令查看端口占用情况,以及如何通过PID终止进程。同时,提供了根据程序名查找PID的方法,包括使用ps命令和pgrep命令。

话不多说,本文介绍Linux常规操作:查看端口占用进程,根据PID kill掉相关进程。另外补充:根据程序名查看进程PID。

首先,两条命令,lsof命令和netstat命令。

方式一:lsof命令
1、查看占用端口进程的PID:

lsof -i:{端口号}

2、根据PID kill掉相关进程:

kill -9 {PID}

方式二:netstat命令
1、查看占用端口进程的PID:

netstat -tunlp|grep {port}

2、kill方法如上。

kill -9 {PID}

补充:根据程序名查看对应的PID
1、用ps命令(zb专用):
ps -ef | grep {programName}
kill -9 {PID}
2、用pgrep命令:

pgrep命令的p表明了这个命令是专门用于进程查询的grep。

pgrep {programName}
kill -9 {PID}

<think>我们正在处理用户的问题:如何在Linux系统中查找被占用端口对应的占用进程 根据用户需求,我们需要提供在Linux系统下查看端口占用进程的方法 常见的命令有:netstat, ss, lsof, fuser等 我们会分步骤介绍这些命令的使用方法 注意:需要确保命令的准确性和适用性,因为Linux发行版可能略有差异,但核心命令一致 另外,需要提醒用户可能需要root权限来查看所有进程的信息 步骤: 1. 使用netstat命令(较老,但广泛使用) 2. 使用ss命令(较新,推荐) 3. 使用lsof命令(功能强大) 4. 使用fuser命令(专门用于查看文件/端口占用) 然后,我们会生成相关问题 注意:用户要求使用中文回答,并且按照格式要求(行内公式用$...$,独立公式用$$...$$),但这个问题中可能涉及数学公式,所以我们只需注意命令的格式化(使用代码块)。 另外,需要在回答末尾生成相关问题。 引用:如果引用了外部知识,需要添加引用标识。但这里我们主要使用的是Linux内置命令,通常需要引用。如果有特别需要注意的地方,可以标注。 我们开始构建回答: </think>### Linux系统查看占用端口对应的占用进程 在Linux系统中,可通过以下方法精确识别占用特定端口的进程: --- #### 方法1:使用 `lsof` 命令 **语法**: ```bash lsof -i :端口号 ``` **示例**: ```bash lsof -i :8080 ``` **输出解析**: ```text COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 1234 root 46u IPv6 123456 0t0 TCP *:http-alt (LISTEN) ``` > 关键字段:`COMMAND`(进程名)、`PID`(进程ID)、`USER`(运行用户) --- #### 方法2:使用 `ss` 命令 **语法**(推荐): ```bash ss -tulnp | grep ":端口号" ``` **参数说明**: - `-t`:TCP端口 - `-u`:UDP端口 - `-l`:仅监听端口 - `-n`:数字格式显示端口 - `-p`:显示进程信息 **示例**: ```bash ss -tulnp | grep ":22" ``` **输出解析**: ```text tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=456,fd=3)) ``` --- #### 方法3:使用 `netstat` 命令 **语法**(兼容旧系统): ```bash netstat -tulnp | grep ":端口号" ``` **示例**: ```bash netstat -tulnp | grep ":80" ``` **输出**: ```text tcp6 0 0 :::80 :::* LISTEN 789/nginx: master ``` > 注意:`netstat` 在部分新发行版中需手动安装(`apt install net-tools`) --- #### 高级排查技巧 1. **精确协议过滤** ```bash lsof -i tcp:443 # 仅检查TCP 443端口 lsof -i udp:53 # 仅检查UDP 53端口 ``` 2. **进程详细信息** ```bash ps -p 1234 -f # 根据PID查看进程详情 ``` 3. **杀死占用进程** ```bash kill -9 $(lsof -t -i:8080) # 强制终止占用8080端口的进程 ``` --- ### 注意事项 - **权限要求**:普通用户只能查看自身进程,全局扫描需 `sudo` 权限 - **端口状态**: - `LISTEN`:服务正在监听 - `ESTABLISHED`:活动连接 - **特殊端口**: - 1-1023:需root权限绑定 - 1024-49151:注册端口 - 49152+:临时端口[^1]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

helloworddm

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值