17370845950

LINUX怎么查看端口占用情况_LINUX端口占用查看与管理方法
首先使用netstat、ss或lsof命令查看端口占用情况,如sudo netstat -tulnp或sudo ss -tulnp | grep :端口号,确定占用端口的PID后,用sudo kill -9 PID终止进程并验证释放。

如果您需要检查某个网络服务是否正在运行,或者发现应用程序无法绑定到指定端口,可能是由于该端口已被其他进程占用。以下是查看和管理Linux系统中端口占用情况的详细步骤:

本文运行环境:联想ThinkPad E14,Ubuntu 22.04

一、使用netstat命令查看端口占用

netstat是一个传统的网络统计工具,可以显示当前系统的网络连接、监听端口及对应进程信息。通过结合不同参数,能够精准定位占用端口的程序。

1、打开终端,输入以下命令以列出所有正在监听的TCP端口及其对应的进程ID(PID)和程序名称:
sudo netstat -tulnp

2、在输出结果中查找目标端口号,确认其状态为LISTEN,并记录下PID列的数值。

3、若需查询特定端口(如8080),可执行:
sudo netstat -tulnp | grep :8080

二、使用ss命令检查端口使用情况

ss是较新的网络套接字查看工具,性能优于netstat,能更快速地获取套接字统计信息,推荐在现代Linux发行版中优先使用。

1、在终端中运行以下命令来显示所有监听中的TCP端口:
sudo ss -tulnp

2、查找包含特定端口的信息,例如查看5000端口的占用情况:
sudo ss -tulnp | grep :5000

3、根据输出中的“PID/Program name”字段识别具体进程。

三、利用lsof命令按端口查找进程

lsof命令用于列出当前系统上打开的文件,网络端口也被视为一种特殊文件。因此可通过此命令直接搜索指定端口的占用者。

1、安装lsof(如未预装):
sudo apt install lsof

2、执行以下命令查看哪个进程占用了3306端口:
sudo lsof -i :3306

3、从输出结果中读取COMMAND、PID和USER等信息,判断是否需要终止该进程。

四、终止占用端口的进程

当确认某端口被不需要的进程占用时,可通过终止该进程释放端口资源。操作前请确保该进程非关键系统服务。

1、获取占用端口的PID后,使用kill命令结束进程:
sudo kill -9 PID(将PID替换为实际进程号)

2、再次运行ss或lsof命令验证端口是否已释放。

3、若批量查找并关闭多个相关进程,可结合grep与xargs简化操作:
sudo lsof -t :8080 | xargs kill -9