Linux怎么杀死指定端口的进程?

目录
文章目录隐藏
  1. Linux 杀死指定端口的进程
  2. Linux 删除某个端口进程的多种方式

本文主要内容使关于 Linux 如何杀死指定端口的进程问题,具有很好的参考价值,希望对大家有所帮助。

Linux 杀死指定端口的进程

1.查看端口

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

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

2.kill 进程

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

[root@zkl101 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@zkl101 bin]# kill 110655
[root@zkl101 bin]# lsof -i tcp:80
[root@zkl101 bin]#

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

执行 yum install lsof

[root@zkl101 bin]# lsof -i tcp:80
-bash: lsof: 未找到命令
[root@zkl101 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 掉即可。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系maynote@foxmail.com处理
码云笔记 » Linux怎么杀死指定端口的进程?

发表回复