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进程也能如此。 |
执行指令之后
ps -ef | grep ruoyi | grep -v grep | cut -c 10-16 | xargs kill -9