一、查看已知端口占用情况

比如,我们想知道8080端口的使用情况,或者说被谁占用了,命令如下:
netstat -anp | grep 8080
结果如下:

也可以使用命令:
netstat -tln | grep 8080
 结果:

和上个命令对比,少了“2597932/java”,这个显示的是进程号以及被哪个程序所占用。

如果没有被占用,就什么都不显示。

二、查看全部端口占用情况
netstat -anp # 或者 netstat -tln
显示结果分别如下面:

[root@Cent0S8-FTP sysconfig]# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State    
  PID/Program name    
tcp        0      0 127.0.0.1:44321         0.0.0.0:*               LISTEN  
   1740/pmcd           
tcp        0      0 127.0.0.1:4330          0.0.0.0:*               LISTEN  
   2715/pmlogger       
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN  
   1/systemd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN  
   1191/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN  
   1196/cupsd          
tcp        0      0 192.168.10.111:22       192.168.10.112:56798  
 ESTABLISHED 3209340/sshd: fangd 
tcp        0      0 192.168.10.111:22       192.168.10.112:58794  
 ESTABLISHED 3330163/sshd: fangd 
tcp       32      0 192.168.10.111:35222    8.43.85.13:443        
 CLOSE_WAIT  3876/gnome-shell    
tcp        0     52 192.168.10.111:22       192.168.10.112:56674  
 ESTABLISHED 3198229/sshd: fangd 
tcp6       0      0 ::1:44321               :::*                    LISTEN  
   1740/pmcd           
tcp6       0      0 ::1:4330                :::*                    LISTEN  
   2715/pmlogger       
tcp6       0      0 :::111                  :::*                    LISTEN  
   1/systemd           
tcp6       0      0 :::21                   :::*                    LISTEN  
   1430/vsftpd         
tcp6       0      0 :::22                   :::*                    LISTEN  
   1191/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN  
   1196/cupsd          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                        
  982/avahi-daemon: r 
udp        0      0 192.168.10.111:46722    193.182.111.143:123    
ESTABLISHED 985/chronyd         
udp        0      0 0.0.0.0:67              0.0.0.0:*                        
  2632/dnsmasq        
udp        0      0 192.168.10.111:68       192.168.10.1:67        
ESTABLISHED 1176/NetworkManager 
udp        0      0 0.0.0.0:111             0.0.0.0:*                        
  1/systemd           
udp        0      0 0.0.0.0:45242           0.0.0.0:*                        
  982/avahi-daemon: r 
udp        0      0 127.0.0.1:323           0.0.0.0:*                        
  985/chronyd         
udp6       0      0 :::5353                 :::*                            
   982/avahi-daemon: r 
udp6       0      0 :::111                  :::*                            
   1/systemd           
udp6       0      0 ::1:323                 :::*                            
   985/chronyd         
udp6       0      0 :::41737                :::*                            
   982/avahi-daemon: r 
raw6       0      0 :::58                   :::*                    7        
  1176/NetworkManager 
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name  
  Path
unix  2      [ ACC ]     SEQPACKET  LISTENING     24579    1/systemd        
   /run/systemd/coredump
unix  2      [ ACC ]     STREAM     LISTENING     29959    967/lsmd          
  /var/run/lsm/ipc/simc

[root@Cent0S8-FTP sysconfig]# netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State    
 
tcp        0      0 127.0.0.1:44321         0.0.0.0:*               LISTEN  
  
tcp        0      0 127.0.0.1:4330          0.0.0.0:*               LISTEN  
  
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN  
  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN  
  
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN  
  
tcp6       0      0 ::1:44321               :::*                    LISTEN  
  
tcp6       0      0 ::1:4330                :::*                    LISTEN  
  
tcp6       0      0 :::111                  :::*                    LISTEN  
  
tcp6       0      0 :::21                   :::*                    LISTEN  
  
tcp6       0      0 :::22                   :::*                    LISTEN  
  
tcp6       0      0 ::1:631                 :::*                    LISTEN

三、查看具体端口被哪个程序占用
lsof -i :8080
 [root@Cent0S8-FTP sysconfig]# lsof -i :8080
COMMAND     PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    2597932 root   45u  IPv6 27126054      0t0  TCP *:webcache (LISTEN)

 四、kill被占用的进程

我们通过三中的命令得到PID对应的2597932,或者通过命令“netstat -anp | grep
8080”得到的“2597932/java”,这里的2597932都是端口占用的对应进程的进程号,我们杀掉对应进程号即可。
kill -9 2597932
五、检查对应端口是否还在占用

在“四”中,我们kill了对应的进程,那么是否成功了呢,我们可以通过“一”中的命令再查看一下8080端口的使用情况。
netstat -anp | grep 8080
发现没有任何结果,这就说明已经kill掉了对应的进程。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信