解决Linux下端口被占用问题
本文主要介绍了 linux 下端口被占用问题以及解除方式,具有很好的参考价值,希望对大家有所帮助。
linux 下端口被占用及解除
问题
最近开始学 linux,写一个网络编程有关的程序时,服务端绑定端口。
客户端第一次连接的时候,服务端能够正常打印出客户端的 ip 地址及端口号。
再次运行时,发现服务端一直处于未响应的状态,排查了一段时间。
结果发现程序退出时出现异常,出现了僵尸进程,端口一直被占用。
解决办法
1、查看端口是否被占用:
netstat -anp |grep 8888 //查看 8888 端口的占用情况
出现如下情况说明被占用:
2、查看占用此端口的进程 PID
lsof -i :8888
结果如下:
3、杀死进程
kill -9 4110 //4110 为进程 ID
可以看到成功结果:
至此端口已解除占用啦。
linux 如何查看端口占用情况
在 Linux 系统中,您可以使用多种命令来查看端口占用情况。
以下是一些常用的方法:
netstat 命令
使用 netstat 命令可以显示网络连接、路由表、接口统计信息等。
要查看端口占用情况,可以使用以下命令:
netstat -tuln
这将显示当前所有监听的 TCP 和 UDP 端口,以及它们的状态和进程信息。
ss 命令
ss 命令也用于查看套接字统计信息,更快速和有效。
要查看端口占用情况,可以使用以下命令:
ss -tuln
lsof 命令
lsof 命令用于列出所有打开文件和套接字的信息,包括端口占用情况。
要查看某个特定端口的占用情况,可以使用以下命令:
lsof -i :端口号
例如,要查看端口号为 80 的占用情况,可以使用:
lsof -i :80
pidof 和 fuser 命令
pidof 和 fuser 命令用于查找正在使用某个文件或套接字的进程 ID。
要查看某个端口的占用情况,可以结合使用这两个命令,例如:
pidof -t -x 端口号 fuser 端口号/tcp
这些命令将显示占用指定端口的进程信息,包括进程 ID(PID)和进程名称。
您可以根据需要选择适合的方法来查看 Linux 系统中的端口占用情况。
码云笔记 » 解决Linux下端口被占用问题