三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Linux面试题:端口占用和进程查看

Linux面试题:端口占用和进程查看

如何查看某个端口是被那个进程占用,以及如何结束进程

(1)使用lsof -i

$lsof-i|grepmysql# TCP:使用的协议(TCP/UDP)docker-pr2410root 4u IPv4505020t0 TCP *:mysql(LISTEN)docker-pr2416root 4u IPv6482270t0 TCP *:mysql(LISTEN)# 进程名 PID 用户 协议 inode 数据量 监听地址:端口

(2)使用netstat -tlnp

  • -t:代表TCP
  • -l:代表listening,监听
  • -n:为了不解析域名 / 服务名,直接显示数字 IP、数字端口,比如不显示 mysql,直接显示 3306,速度更快、更准
  • -p:显示 占用端口的进程名 + PID
$netstat-tlnp|grep3306tcp000.0.0.0:33060.0.0.0:* LISTEN2410/docker-proxy tcp600:::3306 :::* LISTEN2416/docker-proxy

(3)使用ss命令

为什么使用ss,因为比较快,网络连接比较多的时候,他直接从内核拿数据。

$ ss-tlnp|grep3306LISTEN0128*:3306 *:* users:(("docker-proxy",pid=2410,fd=4))LISTEN0128[::]:3306[::]:* users:(("docker-proxy",pid=2416,fd=4))

(4)结合lsof -f +kill

kill-9$(iso-t-i:8080)
← 返回列表