Bootstrap

linux 查看端口被哪个进程占用?找出并杀死占用进程的方法

1、lsof查看端口的占用情况

lsof -i    #将会显示命令+进程ID+进程的所属用户,以及监听的协议,状态等信息

[root@y_zilong ~]# lsof -i:22
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    1388 root    3u  IPv4  22901      0t0  TCP *:ssh (LISTEN)
sshd    1388 root    4u  IPv6  22903      0t0  TCP *:ssh (LISTEN)
sshd    3205 root    3u  IPv4  32873      0t0  TCP node1.example.com:ssh->10.0.0.1:ovtopmd 
[root@y_zilong ~]# netstat -tunlp |grep 22

2、netstat查看端口占用情况

netstat -tunlp |grep 端口号 ,用于查看指定端口号的进程,如查看22号端口

-t (tcp) 仅显示tcp相关选项        -u (udp) 仅显示udp相关选项

-n 拒绝显示列名,能显示数字的全部转化为数字   

-l 仅显示出在listen(监听)的服务状态

-p 显示潜力相关链接的程序名

[root@y_zilong ~]# netstat -tunlp |grep 22
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      2294/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1388/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      1388/sshd           
udp        0      0 192.168.122.1:53        0.0.0.0:*                           2294/dnsmasq        
udp        0      0 0.0.0.0:67              0.0.0.0:*                           2294/dnsmasq        
[root@y_zilong ~]# netstat -ntlp |grep 22
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      2294/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1388/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      1388/sshd    
[root@y_zilong ~]# 

3、杀死某个端口的占用进程

1. kill 进程号:

会给进程发送一个SIGTERM信号,使进程先释放自己资源,然后停止,但是也有程序可能接收信号后,做一些其他的事情(如果程序正在等待IO,可能就不会立马做出响应。

-a  当处理当前进程时,不限制命令名和进程号的对应关系

-p  指定kill 命令只打印相关进程的进程号,而不发送任何信号

-s  指定发送信号

-u  指定用户

-1 :无法关闭进程而让其重读配置文件

-2:中止正在运行的进程;相当于ctrl+c

-9:强制杀死正在运行的进程,可能会导致数据丢失,慎用!

2.kill -9 进程号:    强制杀死进程

示例:强制杀死1388的进程号

[root@y_zilong ~]# netstat -ntlp |grep 22
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      2294/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1388/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      1388/sshd           
[root@y_zilong ~]# kill -9 1388
[root@y_zilong ~]# netstat -ntlp |grep 22
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      2294/dnsmasq        
[root@y_zilong ~]# 

 

 

;