JiuyeXD's Blog
九叶
九叶博主

越努力 越幸运

登录
夜间

Centos8如何批量杀死进程

1. 问题

由于公司的spring cloud项目内部测试的服务器使用的是Jenkins部署环境没有使用Docker

导致每次手动去查询进程的pid然后挨个关闭很麻烦 这时候需要一个脚本来实现批量关闭进程

2. 解决方法

pkill -9 进程名
ps -ef | grep ruoyi | grep -v grep | cut -c 10-16 | xargs kill -9

管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。

字段 作用
ps -ef Linux里查看所有进程的命令
这时检索出的进程将作为下一条命令"grep LOCAL=NO"的输入
grep ruoyi 输出结果是 所有含有关键字"ruoyi"的进程
grep -v grep 在列出的进程中去除含有关键字"grep"的进程
cut -c 10-16 截取输入行的第10个字符到第16个字符,而这正好是进程号PID
[font color=“red”]我是用的是Centso8截取的进程PID是第10位到第16位
网上搜到的相关资料都是9-15导致PID截取不全无法生效
[/font]
xargs kill -9 xargs用来把前面命令的输出结果PID的多个进程结果
一个个输出为参数作为"kill -9"命令的参数,并执行该命令。
"kill -9"会强行杀掉指定进程,尤其是多个java进程也能如此。

Error.png

执行指令之后

ps -ef | grep ruoyi | grep -v grep | cut -c 10-16 | xargs kill -9

image.png

THE END