Linux如何杀死指定端口的进程,


目录
  • Linux杀死指定端口的进程
    • 1.查看端口
    • 2.kill进程
    • -bash: lsof: 未找到命令 怎么处理
  • Linux删除某个端口进程的多种方式
    • kill命令
    • 方式一:lsof命令
    • 方式二:netstat命令
    • 方式三:使用ps
  • 总结

    Linux杀死指定端口的进程

    1.查看端口

    终端输入:lsof -i tcp:port 将port换成被占用的端口(如:8080)

    将会出现占用端口的进程信息。

    2.kill进程

    找到进程的PID,使用kill命令:kill PID(进程的PID,如50684),杀死对应的进程

    [root@zjj101 bin]# lsof -i tcp:80
    COMMAND      PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
    openresty 110655 nobody    6u  IPv4 1640280      0t0  TCP *:http (LISTEN)
    [root@zjj101 bin]# kill 110655
    [root@zjj101 bin]# lsof -i tcp:80
    [root@zjj101 bin]#
    

    -bash: lsof: 未找到命令 怎么处理

    执行 yum install lsof

    [root@zjj101 bin]# lsof -i tcp:80
    -bash: lsof: 未找到命令
    [root@zjj101 bin]# yum install lsof
    

    Linux删除某个端口进程的多种方式

    在操作linux系统时,我们经常需要删除掉某个端口的进程。

    一般过程就是查询出占用该端口的进程,然后通过进程的PID将其kill掉

    kill命令

    Linux kill 命令用于删除执行中的程序或工作。

    kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。

    若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。

    使用 kill -l 命令列出所有可用信号。

    最常用的信号是:

    • 1 (HUP):重新加载进程。
    • 9 (KILL):杀死一个进程。
    • 15 (TERM):正常停止一个进程。

    方式一:lsof命令

    使用lsof,如果出现以下提示,那么说明没有安装lsof命令

    -bash: lsof: 未找到命令

    使用以下命令进行安装即可:

    yum install lsof

    1、查看占用端口进程的PID

    lsof -i:{端口号}

    实例:

    [root@localhost sbin]# lsof -i:80
    COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    nginx   1336 nobody    6u  IPv4  28160      0t0  TCP *:http (LISTEN)
    nginx   4168 nobody    6u  IPv4  28160      0t0  TCP *:http (LISTEN)
    nginx   4169 nobody    6u  IPv4  28160      0t0  TCP *:http (LISTEN)
    

    2、根据PID kill掉相关进程,直接使用kill无法删除时,再用kill -9进行删除

    kill -9 {PID}

    实例

    [root@localhost sbin]# kill -9 1336

    方式二:netstat命令

    1、查看占用端口进程的PID

    netstat -tunlp|grep {port}

    实例:

    [root@localhost sbin]# netstat -tunpl |grep 80
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      8197/nginx: master  
    tcp6       0      0 :::80                   :::*                    LISTEN      8197/nginx: master  
    

    实例所示的8197即是PID

    2、根据PID kill掉相关进程

    kill -9 {PID}

    方式三:使用ps

    如果只知道某个进程的名称,那么使用ps也可以得到该进程的PID

    使用以下命令即可,{name}表示你要查找的进程名

     ps -aux | grep {name}

    注:你还可以将{name}换成{PID},即可以查到相关PID的进程

    返回结果参数如下:

    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

    返回结果第二例即是PID

    实例:

     ps -aux |grep nginx

    返回:

    common   10746  0.0  0.0  18584   576 ?        Ss   Jun11   0:00 nginx: master process ./nginx

    如果你不想那么麻烦,你还可以直接使用pgrep命令,该命令直接返回进程的PID

    实例: 

    pgrep nginx

    返回

    10746
    25645

    获取到PID之后,直接Kill掉即可

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持PHP之友。

    您可能感兴趣的文章:
    • Linux中如何通过端口号查找进程号
    • Linux 查看端口的占用情况并找出并杀死占用进程的方法
    • 6种查看Linux进程占用端口号的方法详解
    • 在Linux中查看进程占用的端口号
    • Linux查找占用的端口,并杀死进程的方法
    • Linux查看端口、进程情况及kill进程的方法

    相关内容