Linux查看端口占用有哪些方法?
当您在 Linux 系统中运行程序时,经常会遇到 Linux 端口被占用的情况,这往往会导致服务无法正常启动或出现连接冲突。遇到这种问题时,需要先在 Linux 查看端口被哪个进程占用,然后再进行相应的修改。那么,怎么在 Linux 查看端口占用情况呢?下面我们就来详细介绍具体的方法和步骤。
Linux 查看端口被占用的方法有很多,以下将为您介绍四种能快速查看 Linux 端口被哪个进程占用的方法。
方法1. lsof 命令
lsof 命令不仅可以用于查看系统中所有已打开的文件,还能帮助我们快速查看端口的占用情况。比如,当 SSH 登录时出现22端口连接被拒绝的情况,就可以通过 lsof 命令来检查该端口是否已经被其他进程或服务占用。
# 查看 22 端口占用情况
lsof -i:22
方法2. netstat 命令
netstat -tunlp 命令可以用于查看系统中 TCP、UDP 端口及其对应的进程信息。当您遇到80端口被占用等问题时,可以通过执行该命令来解决端口冲突问题。
# 查看端口占用情况
netstat -tulnp
# 查看 80 端口占用情况
netstat -tunlp | grep 80
方法3. fuser 命令
fuser 是一款用于快速查看文件、目录或网络端口占用情况的实用工具,通过它您可以轻松的在 Linux 查看端口占用情况。例如,使用 fuser 端口号/tcp 就能迅速查看某个 TCP 端口的占用进程,为后续的排查和处理提供便利。
# 查看 TCP 80 端口占用情况
fuser 80/tcp
方法4. ss 命令
在 Linux 中,ss 命令同样是查看端口占用情况的常用工具,它能够显示详细的套接字信息,包括 TCP、UDP 协议、端口号等使用情况。
# 查看端口占用情况
ss -tunl
# 查看特定口情况,例如 80 端口
ss -tulnp | grep 80
拓展阅读:释放被占用端口
当确认端口被特定进程占用后,如果需要释放该端口,可以通过 kill 命令终止占用该端口的进程。比如,在上面的示例中,如果发现 80 端口被 PID 为 1155 的进程占用,只需执行以下命令即可强制结束该进程,从而释放端口资源:
# 杀死进程 ID 1155
kill -9 1155
这里的 -9 参数表示强制终止进程,可以确保目标进程立即停止运行。但在执行 kill 命令之前,建议先确认该进程的作用和重要性,以免误杀关键服务,导致系统异常或业务中断。
总结
Linux 查看端口占用情况可以通过多种命令来实现,其中常用的包括 lsof、netstat、fuser 和 ss 等。这些工具都能够帮助我们快速查看端口被哪个进程或服务占用,从而更高效地进行系统排查和故障处理。