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

相关推荐
摸鱼也很难1 小时前
Docker 镜像加速和配置的分享 && 云服务器搭建beef-xss
运维·docker·容器
watermelonoops1 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
woshilys2 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
疯狂飙车的蜗牛2 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程3 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
Michaelwubo4 小时前
Docker dockerfile镜像编码 centos7
运维·docker·容器
远游客07134 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<4 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟4 小时前
centos-stream9系统安装docker
linux·docker·centos
好像是个likun5 小时前
使用docker拉取镜像很慢或者总是超时的问题
运维·docker·容器