Linux系统运维命令:终止监听在 TCP端口80上的所有进程(使用lsof,grep,awk组合命令, 终止监听在 TCP某个端口上的所有进程)

目 录

一、需求

二、解决方法

1、解决思路

2、命令

三、实例演示和命令解释

1、实例演示

(1)查看目前有哪些在TCP端口80监听的进程

(2)、使用命令

(3)、查看效果

2、命令解释

[(1)、lsof -i :80](#(1)、lsof -i :80)

[(2)、grep -v "PID"](#(2)、grep -v "PID")

(3)、awk '{print "kill -9",2}'](#(3)、awk '{print "kill -9",

(4)、sh

四、扩展


一、需求

在Linux系统中,端口80通常用于HTTP服务,如Apache或Nginx等Web服务器。如果某个进程或应用程序意外地占用了这个端口,或者出现了性能问题、安全问题等,管理员可能需要快速终止这些进程以恢复服务的正常运行。

二、解决方法

1、解决思路

通过lsof -i :80命令,可以列出所有正在使用端口80的进程。然后通过grep找到PID,在通过awk调用kill命令,终止掉这些进程。

2、命令

考虑使用lsof 、grep结合awk,形成组合命令,实现需求,如下:

lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh

三、实例演示和命令解释

1、实例演示

(1)查看目前有哪些在TCP端口80监听的进程

[root@ecs-52a1 nginx_web]#
[root@ecs-52a1 nginx_web]# lsof -i:80
COMMAND       PID   USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
nginx.out 3133592   root    9u  IPv4 634115274      0t0  TCP *:80 (LISTEN)
nginx.out 3133593 nobody    3u  IPv4 634134827      0t0  TCP ecs-52a1:80->122.193.66.67:pcmk-remote (ESTABLISHED)
nginx.out 3133593 nobody    9u  IPv4 634115274      0t0  TCP *:80 (LISTEN)
nginx.out 3133593 nobody   14u  IPv4 634134828      0t0  TCP ecs-52a1:80->122.193.66.67:40831 (ESTABLISHED)
nginx.out 3133593 nobody   15u  IPv4 634139359      0t0  TCP ecs-52a1:80->47.122.26.94:40704 (ESTABLISHED)
[root@ecs-52a1 nginx_web]#

(2)、使用命令

[root@ecs-52a1 nginx_web]#
[root@ecs-52a1 nginx_web]# lsof -i:80|grep -v "PID"|awk '{print "kill -9",$2}'|sh
[root@ecs-52a1 nginx_web]#

(3)、查看效果

[root@ecs-52a1 nginx_web]#
[root@ecs-52a1 nginx_web]# lsof -i:80
[root@ecs-52a1 nginx_web]#
[root@ecs-52a1 nginx_web]#

可见,所用监听的进程都被删掉了。

2、命令解释

本命令的作用是:查找并终止监听在 TCP 端口 80 上的所有进程。

(1)、lsof -i :80

用于列出当前系统打开的文件。当使用 -i 选项时,它会列出所有网络连接,包括监听的和已建立的。

-i :80 参数意味着我们只对监听在 TCP 端口 80 上的网络连接感兴趣。

(2)、grep -v "PID"

grep 命令用于搜索文本,-v 选项表示反向匹配,即只输出不匹配指定模式的行。

在这里,grep -v "PID" 会过滤掉包含 "PID" 的行。通常,lsof 命令的输出中会包含一列显示进程 ID(PID)的列,但在这个命令组合中,我们不关心 PID,所以我们使用 grep -v "PID" 来移除它。

(3)、awk '{print "kill -9",$2}'

awk 是一个文本处理工具,它可以基于模式对文本进行扫描和处理。

在这个命令中,awk 会处理每一行输入,并输出一个新的字符串。{print "kill -9",$2} 表示对每一行,它都会打印出 "kill -9" 和该行的第二列。

由于 lsof -i 命令的输出中,第二列通常是进程 ID(PID),所以这个命令会生成一系列 kill -9 <PID> 命令,其中 <PID> 是监听在端口 80 上的进程的进程 ID。

kill -9 是一个命令,用于强制终止一个进程。-9 选项发送一个 SIGKILL 信号给进程,这个信号不能被进程捕获或忽略,所以它总是会立即终止进程。

(4)、sh

sh 是 shell 的命令,通常用于执行脚本或命令字符串。

在这里,sh 会执行前面 awk 命令生成的 kill -9 <PID> 命令,从而强制终止所有监听在 TCP 端口 80 上的进程。

四、扩展

在实际使用中,你可稍微做些修改,就可以适合您的应用了。比如,若你想终止掉2680的tcp端口的所用进程,你可以用如下命令即可:

lsof -i:2680|grep -v "PID"|awk '{print "kill -9",$2}'|sh

相关推荐
中云DDoS CC防护蔡蔡12 分钟前
微信小程序被攻击怎么选择高防产品
服务器·网络安全·微信小程序·小程序·ddos
HPC_fac130520678161 小时前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
速盾cdn2 小时前
速盾:CDN是否支持屏蔽IP?
网络·网络协议·tcp/ip
yaoxin5211232 小时前
第二十七章 TCP 客户端 服务器通信 - 连接管理
服务器·网络·tcp/ip
内核程序员kevin2 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
sinat_384241096 小时前
使用 npm 安装 Electron 作为开发依赖
服务器
朝九晚五ฺ7 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream7 小时前
Linux的桌面
linux
xiaozhiwise7 小时前
Makefile 之 自动化变量
linux