欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

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

时间:2023-06-26

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

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

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

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

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的功能非常的强大,不仅可以获取列信息,而且还可以执行系统命令,真的非常的强大。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。