0
点赞
收藏
分享

微信扫一扫

利用awk根据程序名终止进程

木樨点点 2022-02-12 阅读 52

在linux当中经常遇到根据程序名终止进程的情况,最近,我就遇到了这种情况:

怎么办,利用awk获取行,进行kill就可以了,具体如下:

root@imx6ulevk:/mnt# ps -ef|grep DB|grep -v grep|awk '{system("echo "$2";kill -9 "$2)}'
17227
17298
17340
17396
17444
17498
17545
17612

一个命令就解决了问题,下面解释一下:

root@imx6ulevk:/mnt# ps -ef|grep realDIToDB|grep -v grep|awk '{system("echo "$2";kill -9 "$2)}'


1、获取匹配项

ps -ef|grep DB|grep -v grep

ps -ef是获取进程列表;

grep DB:是获取名字为DB的进程

grep -v grep:是不匹配grep的进程,因为,运行grep本身也是一个进程,所以去掉这一个进程,-v这个参数就是不匹配的意思

2、获取进程行并杀掉进程

awk '{system("echo "$2";kill -9 "$2)}'

awk :是启用awk脚本语文

system():是执行系统命令

echo $2; :是显示第二行,就是进程号

kill -9 $2:就是根据进程号,杀死进程
从这里可知awk的功能非常的强大,不仅可以获取列信息,而且还可以执行系统命令,真的非常的强大。

举报

相关推荐

0 条评论