linux下怎么查看哪些端口被占用

Linux下查看端口占用:
1 . 用netstat命令:
显示TCP:netstat -ntlp
查特定端口:netstat -ntulp | grep 8 0
所有端口进程:netstat -anp
2 . 用lsof命令:
查特定端口:lsof -i:8 08 0
显示所有连接:lsof -i
按协议或IP:lsof -iTCP 或 lsof -i@1 9 2 .1 6 8 .1 .1
3 . 无netstat或lsof,用ss:
查监听端口及进程:ss -tulnp
确认后,终止进程:kill -9 (慎用)

linux怎么查看端口占用

等等,我昨天在咖啡馆碰到个事。
有个哥们儿对着笔记本电脑急得满头大汗,屏幕上闪着红色警告,说他的网站访问不了了。
我凑过去一看,发现是8 0端口被占用了,得是个后台更新没关干净。
他手忙脚乱试了好几个命令,最后我让他用你说的这个lsof命令,几秒钟就找到了是哪个脚本跑得没死。
他松了口气,说这真是个好办法。
你看,有时候问题明明挺复杂,但就差那么一小步,就能解决。

linux怎么样查看端口占用情况

说白了,在Linux系统里看端口占不占用,lsof和netstat俩命令最管用。

先说最重要的,lsof-i端口号这个命令特别适合看端口被哪个进程具体占用了。
比如去年我们跑那个项目,有一次2 2 端口突然卡死,用lsof-i:2 2 直接看到是个系统守护进程出问题,不用查半天日志。
它输出结果贼详细,从进程名到PID、USER全给你列出来,但缺点是命令有点长,记不住全称都得查文档。

另外一点,netstat-tunlp|grep端口号这个组合更简洁,尤其适合临时排查。
记得有次测试服务器突然连不上SSH,netstat-tunlp|grep2 2 一行就看到是某个agent进程没启动,大概3 000量级的系统,这个命令秒出结果。
它的输出虽然没lsof那么花哨,但能快速定位到PID和程序名,效率很高。

我一开始也以为这两个命令互斥,后来发现不对,啥情况用啥。
lsof适合深挖原因,netstat适合快速定位。
等等,还有个事,如果端口被占用但进程挂了,netstat可能也查不到,得用lsof看。

建议平时都备着,但别傻乎乎同时用。
觉得哪个顺手就用哪个,觉得信息不全再换。