本文主要是介绍[小技巧]如果一键通过正则kill掉进程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
前几日突然想kill服务器某个进程,一下子想到了kill -9 xxx,但是发现进程数太多了,一个一个kill有点不给力。所以。。。。
正文
第一种方法:killall
这个命令第一次看到,查了下鸟哥的书(最新基础版的)竟然没发现这个命令。于是着实学习了下。
1.命令格式:
killall[参数][进程名]
2.命令功能:
用来结束同名的的所有进程
3.命令参数:
-Z 只杀死拥有scontext 的进程
-e 要求匹配进程名称
-I 忽略小写
-g 杀死进程组而不是进程
-i 交互模式,杀死进程前先询问用户
-l 列出所有的已知信号名称
-q 不输出警告信息
-s 发送指定的信号
-v 报告信号是否成功发送
-w 等待进程死亡
--help 显示帮助信息
--version 显示版本显示
第二种方法:自己写一个专属的脚本:grepkill
话不多说直接代码伺候:
#!/bin/sh
TOM_HOME=$1
ps -ef|grep $TOM_HOME|grep -v grep|grep -v kill
if [ $? -eq 0 ];then
kill -9 `ps -ef|grep $TOM_HOME|grep -v grep|grep -v kill|awk '{print $2}'`
else
echo $TOM_HOME' No Found Process'
fi
将此内容存于grepkill命名的文件中,放于/usr/local/bin下面,并且设置权限为可执行(chmod +x grepkill),完成。
假设你想kill掉进程中包含php/的进程
使用方法:grepkill php/
搞定
如果你觉得有收获~可以关注我的公众号【咖啡色的羊驼】~第一时间收到我的分享和知识梳理~
这篇关于[小技巧]如果一键通过正则kill掉进程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!