在Linux系统中,查看程序占用端口可以通过以下几种方法:
netstat
命令netstat
是一个常用的网络统计工具,可以显示网络连接、路由表、接口统计等。
sudo netstat -tuln | grep <端口号>
-t
: 显示TCP连接-u
: 显示UDP连接-l
: 仅显示监听套接字-n
: 以数字形式显示地址和端口号例如,查看占用8080端口的程序:
sudo netstat -tuln | grep 8080
ss
命令ss
是 netstat
的替代品,性能更好,功能也更强大。
sudo ss -tuln | grep <端口号>
例如,查看占用8080端口的程序:
sudo ss -tuln | grep 8080
lsof
命令lsof
可以列出当前系统打开的文件和使用这些文件的进程。
sudo lsof -i :<端口号>
例如,查看占用8080端口的程序:
sudo lsof -i :8080
fuser
命令fuser
可以显示使用指定文件或文件系统的进程。
sudo fuser <端口号>/tcp
例如,查看占用8080端口的程序:
sudo fuser 8080/tcp
如果你在执行上述命令时遇到权限不足的错误,可以使用 sudo
提升权限。
如果命令没有返回任何结果,可能是因为该端口没有被占用,或者端口号输入错误。
如果系统中有很多网络连接,输出可能会非常庞大。可以使用 grep
进一步过滤特定端口或进程。
假设你想查看占用8080端口的程序,可以使用以下命令:
sudo lsof -i :8080
输出可能类似于:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 12345 user 23u IPv6 123456 0t0 TCP *:http-alt (LISTEN)
这表示进程ID为12345的 node
程序正在监听8080端口。
通过这些方法,你可以有效地查看和管理Linux系统中占用端口的程序。
领取专属 10元无门槛券
手把手带您无忧上云