设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 98|回复: 21

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

[复制链接]

4

主题

48

回帖

186

积分

注册会员

积分
186
发表于 2024-4-20 08:15:20 | 显示全部楼层 |阅读模式
目录


Linux杀死指定端口的进程


1.查看端口

终端输入:lsof -i tcp:port 将port换成被占用的端口(如:8080)
将会出现占用端口的进程信息。

2.kill进程

找到进程的PID,使用kill命令:kill PID(进程的PID,如50684),杀死对应的进程
  1. [root@zjj101 bin]# lsof -i tcp:80
  2. COMMAND      PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
  3. openresty 110655 nobody    6u  IPv4 1640280      0t0  TCP *:http (LISTEN)
  4. [root@zjj101 bin]# kill 110655
  5. [root@zjj101 bin]# lsof -i tcp:80
  6. [root@zjj101 bin]#
复制代码
-bash: lsof: 未找到命令 怎么处理

执行 yum install lsof
  1. [root@zjj101 bin]# lsof -i tcp:80
  2. -bash: lsof: 未找到命令
  3. [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命令
  1. -bash: lsof: 未找到命令
复制代码
使用以下命令进行安装即可:
  1. yum install lsof
复制代码
1、查看占用端口进程的PID
  1. lsof -i:{端口号}
复制代码
实例:
  1. [root@localhost sbin]# lsof -i:80
  2. COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
  3. nginx   1336 nobody    6u  IPv4  28160      0t0  TCP *:http (LISTEN)
  4. nginx   4168 nobody    6u  IPv4  28160      0t0  TCP *:http (LISTEN)
  5. nginx   4169 nobody    6u  IPv4  28160      0t0  TCP *:http (LISTEN)
复制代码
2、根据PID kill掉相关进程,直接使用kill无法删除时,再用kill -9进行删除
  1. kill -9 {PID}
复制代码
实例
  1. [root@localhost sbin]# kill -9 1336
复制代码
方式二:netstat命令

1、查看占用端口进程的PID
  1. netstat -tunlp|grep {port}
复制代码
实例:
  1. [root@localhost sbin]# netstat -tunpl |grep 80
  2. tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      8197/nginx: master  
  3. tcp6       0      0 :::80                   :::*                    LISTEN      8197/nginx: master  
复制代码
实例所示的8197即是PID
2、根据PID kill掉相关进程
  1. kill -9 {PID}
复制代码
方式三:使用ps

如果只知道某个进程的名称,那么使用ps也可以得到该进程的PID
使用以下命令即可,{name}表示你要查找的进程名
  1. ps -aux | grep {name}
复制代码
注:你还可以将{name}换成{PID},即可以查到相关PID的进程
返回结果参数如下:
  1. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
复制代码
返回结果第二例即是PID
实例:
  1. ps -aux |grep nginx
复制代码
返回:
  1. common   10746  0.0  0.0  18584   576 ?        Ss   Jun11   0:00 nginx: master process ./nginx
复制代码
如果你不想那么麻烦,你还可以直接使用pgrep命令,该命令直接返回进程的PID
实例:
  1. pgrep nginx
复制代码
返回
  1. 1074625645
复制代码
获取到PID之后,直接Kill掉即可

总结

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

0

主题

59

回帖

119

积分

注册会员

积分
119
发表于 2024-5-8 17:48:53 | 显示全部楼层
能给个链接吗?我想深入了解一下。

17

主题

14

回帖

127

积分

注册会员

积分
127

热心会员付费会员

发表于 2024-5-20 19:19:52 | 显示全部楼层
谢谢你的提醒,我会注意的。

0

主题

47

回帖

95

积分

注册会员

积分
95
发表于 2024-5-25 01:37:46 | 显示全部楼层
太棒了!感谢分享这个信息!

0

主题

46

回帖

91

积分

注册会员

积分
91
发表于 2024-5-29 04:54:20 | 显示全部楼层
666666666666666666

2

主题

55

回帖

155

积分

注册会员

积分
155
发表于 2024-6-2 02:09:50 | 显示全部楼层
感谢分享,受益匪浅!

2

主题

49

回帖

143

积分

注册会员

积分
143
发表于 2024-7-14 11:54:34 | 显示全部楼层
666666666666666666

1

主题

60

回帖

144

积分

注册会员

积分
144
发表于 2024-7-25 03:26:11 | 显示全部楼层
这个话题很有趣,我想多了解一些

3

主题

50

回帖

168

积分

注册会员

积分
168
发表于 2024-7-28 06:58:08 | 显示全部楼层
牛逼

1

主题

40

回帖

104

积分

注册会员

积分
104
发表于 2024-8-12 21:24:30 | 显示全部楼层
这个话题真是有趣,我也对它感兴趣。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-24 10:31 , Processed in 0.112673 second(s), 27 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表