Linux 批量杀掉进程(包含某个关键字)
场景说明
现场环境有十多个包含 ”celery” 关键字的进程在运行,每次重启服务,需要将这些进行kill掉,然后重新启动。
可以用如下命令批量kill掉这些进程
kill -9 PID1 PID2 PID3 PID4.....
(其中,PID是查询到的进程号,多个PID之间有空格隔开)
(该方法虽然可行,但是很繁琐)
优化方案
方案1:截取PID
ps -ef|grep celery|grep -v grep|cut -c 9-15
(其中, cut -c 命令用于字符截取)
使用如下命令,即可将所有包含“celery”字样的进程全部杀掉
ps -ef|grep celery|grep -v grep|cut -c 9-15|xargs kill -9
方案2:参数获取
ps -ef|grep celery|grep -v grep |awk '{print $2}'
使用如下命令,即可将所有包含“celery”字样的进程全部杀掉
ps -ef|grep celery|grep -v grep |awk '{print $2}'|xargs kill -9
方案3:参数获取
和方案2类似,命令如下:
ps x|grep celery|grep -v grep |awk '{print $1}'|xargs kill -9