如何查看占用端口8080 的进程 ?
参考回答
要查看占用端口 8080
的进程,可以使用 netstat
或 lsof
命令:
或:
或者使用 ss
命令(推荐):
其中:
– -t
:显示 TCP 端口
– -u
:显示 UDP 端口
– -l
:显示监听的端口
– -n
:不解析域名,直接显示端口号
– -p
:显示进程信息
如果系统没有 netstat
,可以使用 ss
,它是 iproute2
提供的工具,速度更快。
详细讲解与拓展
1. netstat
和 ss
的区别
netstat
是传统的网络状态查询工具,但在现代 Linux 发行版(如 Ubuntu 20.04+)中,已经被 ss
取代。
ss
速度更快,能够更精准地显示端口和进程信息,因此推荐使用:
相比 netstat
,ss
直接从内核获取信息,不需要通过 /proc
解析,所以执行效率更高。
2. lsof
命令解析
lsof
(list open files)用于查看打开的文件,包括网络端口:
它的优点是:
– 可以直接查找占用某个端口的进程
– 适用于所有 Unix 系统(Linux、macOS)
但 lsof
需要安装(部分系统默认没有),可以用 ss
作为替代。
3. 进一步获取进程详情
一旦找到占用 8080
端口的进程 ID(PID),可以进一步查看详细信息:
或者:
可以看到该进程是由哪个命令启动的。
4. 结束占用端口的进程
如果需要终止该进程,可以使用:
或:
总结
ss -tulnp | grep 8080
:推荐,速度快,适用于现代 Linuxnetstat -tulnp | grep 8080
:适用于老旧系统lsof -i :8080
:适用于 macOS 和 Linuxkill -9 <PID>
或fuser -k 8080/tcp
结束占用端口的进程
了解 ss
和 netstat
的区别,以及如何用 ps
或 cat /proc/PID/cmdline
进一步分析进程,会对面试有加分效果。