查看端口被哪个进程占用的方法常用的为下面两种:
方法一:lsof -i:端口号
lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令,如下图:
lsof输出各列信息的意义如下:
COMMAND:进程的名称PID
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如txt等
TYPE:文件类型
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点
NAME:打开文件的确切名称
使用lsof -i:端口号
lsof -i:端口号,用以查看某一端口号的占用情况,比如查看22号端口的使用情况:
[root@wangerxiao ~]# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1002 root 3u IPv4 11185 0t0 TCP *:ssh (LISTEN)
sshd 1002 root 4u IPv6 11187 0t0 TCP *:ssh (LISTEN)
方法二:
使用netstat -tlunp
netstat -tlunp 用于显示tcp,udp的端口和进程等的相关信息,如下图
常用选项:
-t 仅显示tcp相关选项
-u 仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出有在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
使用 netstat -tlunp | grep 端口号
netstat -tlunp | grep 端口号,用于查看指定端口号的进程信息,如查看22端口号的情况
[root@wangerxiao ~]# netstat -tlunp | grep 22
tcp 0 0 122.138.122.1:53 0.0.0.0:* LISTEN 3368/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1002/sshd