1.netstat
netstat -tunlp用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
-
-t (tcp)
仅显示tcp相关选项
-
-u (udp)
仅显示udp相关选项
-
-n
拒绝显示别名,能显示数字的全部转化为数字
-
-l
仅列出在Listen(监听)的服务状态
-
-p
显示建立相关链接的程序名
eg:
# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 116443/redis-5.0.7/
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 20163/sshd
tcp6 0 0 :::33060 :::* LISTEN 1123793/mysqld
tcp6 0 0 :::3306 :::* LISTEN 1123793/mysqld
tcp6 0 0 :::6379 :::* LISTEN 116443/redis-5.0.7/
tcp6 0 0 :::8080 :::* LISTEN 226978/java
tcp6 0 0 :::9876 :::* LISTEN 223669/java
tcp6 0 0 :::22 :::* LISTEN 20163/sshd
tcp6 0 0 :::10909 :::* LISTEN 225804/java
tcp6 0 0 :::10911 :::* LISTEN 225804/java
tcp6 0 0 :::10912 :::* LISTEN 225804/java
udp 0 0 127.0.0.1:323 0.0.0.0:* 1201/chronyd
udp6 0 0 ::1:323 :::* 1201/chronyd
2.lsof
lsof(list open files)是一个列出当前系统打开文件的工具。
lsof 查看端口占用语法格式:
lsof -i:端口号
eg:
# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 1123793 mysql 34u IPv6 13051904 0t0 TCP *:mysql (LISTEN)