1. 如何查看端口被哪个进程占用?
1、lsof -i:端口号
2、netstat -tunlp|grep 端口号
都可以查看指定端口被哪个进程占用的情况
说明:
1、lsof 简介
lsof 是 linux 下的一个非常实用的系统级的监控、诊断工具。
它的意思是 List Open Files
,很容易你就记住了它是 “ls + of”的组合~
它可以用来列出被各种进程打开的文件信息,记住:linux 下 “一切皆文件”,
包括但不限于 pipes, sockets, directories, devices, 等等。
因此,使用 lsof,你可以获取任何被打开文件的各种信息。
lsof -i
用以显示符合条件的进程情况
格式:lsof -i [46] [protocol][@hostname|hostaddr][:service|port]
示例:
lsof -i :8004
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 7490 didi 155u IPv6 0xdf59ec5b3f405fb7 0t0 TCP *:8004 (LISTEN)
2. netstat
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
示例:
netstat -na | less