轻松学会 Linux 系统查看程序占用端口的方法 (linux 查看程序占用端口)
在 Linux 系统中,每个程序都会绑定一个或多个端口用于通信。有时候我们需要查看哪些程序正在使用哪些端口,以便进行网络问题排查或端口占用清理。本文将介绍几种查看 Linux 系统程序占用端口的方法。
方法一:使用 netstat 命令
netstat 命令是用于显示网络连接、路由表和网络接口信息的工具。我们可以通过该命令来查看哪些程序正在使用哪些端口。
命令格式:netstat -anp | grep 端口号
其中,-a 表示显示所有连接和监听端口,-n 表示以数字形式显示端口号,-p 表示显示进程相关信息,grep 端口号用于筛选出含有该端口号的行。
例如,要查看端口号为 8080 的程序,可以输入以下命令:
netstat -anp | grep 8080
终端会显示出与该端口相关的程序及进程号,如下所示:
tcp6 0 0 :::8080 :::* LISTEN 12345/java
该命令显示了进程 ID 为 12345 的程序正在使用 TCP 6 协议的 8080 端口进行监听,说明该程序是一个 Java 程序。
方法二:使用 ss 命令
ss 命令跟 netstat 类似,也是用于查看系统套接字和网络统计信息的命令。它的优势在于速度更快、选项更丰富,同时还支持更多的协议和过滤器。
命令格式:ss -nlpt | grep 端口号
其中,-n 表示以数字形式显示端口号,-l 表示显示正在监听的socket,-p 表示显示相关进程信息,-t 表示只显示 TCP 连接。grep 端口号用于筛选出含有该端口号的行。
例如,要查看端口号为 8080 的程序,可以输入以下命令:
ss -nlpt | grep 8080
终端会显示出与该端口相关的程序及进程号,如下所示:
LISTEN 0 100 :::8080 :::* users:((“java”,12345,72))
该命令显示了进程 ID 为 12345 的程序正在使用 TCP 协议的 8080 端口进行监听。
方法三:使用 lsof 命令
lsof 命令可用于列出 Linux 系统中打开的文件和进程。它会显示有关进程和它们所打开的文件的详细信息,也可以用来查看程序占用的端口。
命令格式:lsof -i :端口号
其中,-i 表示查看网络连接,:端口号表示筛选出含有该端口号的行。
例如,要查看端口号为 8080 的程序,可以输入以下命令:
lsof -i :8080
终端会显示出与该端口相关的程序及进程号,如下所示:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 12345 user1 200u IPv6 999999 0t0 TCP *:http-alt (LISTEN)
该命令显示了进程 ID 为 12345 的程序正在使用 TCP 协议的 8080 端口进行监听。
本文介绍了三种常用的 Linux 查看程序占用端口的方法,分别是使用 netstat 命令、ss 命令和 lsof 命令。无论你是在使用服务器还是个人电脑,这些方法都能够帮助你轻松地找到系统中哪些程序正在占用某些端口。在进行网络故障排查或清理端口占用时,这些方法是非常有用的工具。