熟悉shell的朋友都知道一个强大的命令 kill ,看你不爽kill你,你占着茅坑(资源)不拉屎(干活),一样要kill你,你如果负隅顽抗,那我就kill -9, 如果你有同谋,那我就批量干掉你 ,以mysql为例
ps -ef|grep mysql*|awk '{print $2}'|xargs -i sudo kill -9 {}
剧透一下,这个也是我经常面试别人的面试题,也是入职的时候看师傅敲了一遍记住的
简单说一下,ps -ef 是查询所有进程的pid和gid,grep不多书是一种正则筛选工具,awk的功能很强大,可以加上循环,判断等语句进行编程,可以查看小编的另外一片文章 awk的使用,这里不多赘述。后面的xargs是一种参数分块传递的方法,可以单独使用,但一般与管道连用。
在python下,小编也尝试实现了上述功能,如果需要的话
import os
ret_text_list = os.popen("ps | grep mysql*")
pid_list = []
for line in ret_text_list:
pid_list.append(line)
cmd_list = pid_list[0].split()
pid_num = cmd_list[1]
print pid_num
os.system("kill -9 %s"%pid_num)
其中popen是将shell的结果饭回,可以实现shell一样的功能,希望对你有帮助!