怎么查看端口被哪个进程占用?
在 Linux 系统中如果某个端口被其他进程占用,就会导致某些服务无法正常启动。例如:当 Web 服务的 80 端口被占用时,Nginx 就无法正常启动。那么,怎么在 Linux 查看端口被哪个进程占用呢?本文将为您介绍三种 Linux 查看端口是否被占用的方法,跟随我们一起来看看吧!
方法1. netstat 命令
怎么查看端口被哪个进程占用?您可以使用 netstat 命令查看指定端口被哪个进程占用。例如:在终端输入 netstat -tuln | grep :端口号,即可在 Linux 查看端口被哪个进程占用。如果您需要查看80端口被占用的情况,可以通过以下命令进行查看:
# 查看 80 端口占用情况
netstat -tuln | grep :80
从以上输出结果可以看出,服务器的 80 端口目前处于监听状态(LISTEN),并且绑定了所有的 IPv4 地址(0.0.0.0:80)和 IPv6 地址(:::80),这意味着任何外部主机都可以通过 HTTP 协议访问该服务器的 Web 服务。
方法2. ss 命令
ss 命令相比于 netstat 命令,其执行速度和性能更好,能够更快速地显示系统当前的网络连接信息以及各端口的监听状态。例如,查看 80 端口是否被占用命令如下:
# 查看 80 端口占用情况
ss -tuln | grep :80
从以上结果可以看出,任何来自 IPv4 或 IPv6 的请求都可以通过 HTTP 协议访问该服务器,说明 80 端口已经被 Web 服务(如 Nginx 或 Apache)占用并对外提供服务。
方法3. lsof 命令
linux 查看端口被哪个进程占用还可以使用 lsof 命令,它可以查出占用端口的进程的详细信息,包括进程名、进程ID等。Linux查看端口占用情况命令如下:
# 查看 80 端口占用情况
lsof -i :80
输出结果释义:
- COMMAND: 占用端口的命令或服务名称;
- PID: 进程的 ID;
- USER: 运行该进程的用户;
- FD: 文件描述符;
- TYPE: 套接字的类型;
- NODE NAME: 显示端口名称和状态。
lsof 相较于 netstat 和 ss,它提供更加详细的信息,不仅可以显示网络连接情况,还能直接列出具体进程名称和进程 ID。
拓展阅读:高性价比服务器
非凡云是一款高性价比的云服务器,可以为您提供快速稳定、高效灵活的云计算服务。无论您是需要搭建 Web 应用、游戏服务器,还是进行高性能计算,非凡云都能凭借其强大的计算能力和灵活的资源配置,为您的业务提供稳定、高效的运行保障。
值得一提的是,非凡云已通过ISO 20000(信息技术服务管理体系)与 ISO 27001(信息安全管理体系)双重认证,并且持有增值电信业务经营许可证,是一家专业且值得信赖的云服务提供商。
总结
Linux查看端口被哪个进程占用可以使用 netstat、ss 和 lsof 命令轻松查看。如果您需要在Linux查看端口是否开放,同样也可以使用这些命令检查端口是否开放,以快速确认服务监听情况、排查端口冲突或进行网络安全检测。