ps kill awk 杀死同一个应用的所有进程

测试环境部署的时候经常需要重启,每次杀进程太麻烦,shell也不是很熟,同名的多个进程手动杀太麻烦了,google一个命令,分享下。
os环境centos6.2 

目的: 一次杀死uwsg的所有进程


查看uwsg进程:

[root@localhost nirvana]# ps -ef|grep uwsgi
root     27678     1  0 17:08 ?        00:00:00 uwsgi uwsgi.ini
root     27679 27678  0 17:08 ?        00:00:00 uwsgi uwsgi.ini
root     27680 27678  0 17:08 ?        00:00:00 uwsgi uwsgi.ini
root     27681 27678  0 17:08 ?        00:00:00 uwsgi uwsgi.ini
root     27682 27678  0 17:08 ?        00:00:01 uwsgi uwsgi.ini
root     27984  4026  0 17:20 pts/1    00:00:00 grep uwsgi

使用awk选出所有的进程id

[root@localhost nirvana]# ps -ef|grep uwsgi|grep -v grep|awk '{print $2}'
27678
27679
27680
27681
27682

使用xargs kill所有进程

[root@localhost nirvana]# ps -ef|grep uwsgi|grep -v grep|awk '{print $2}'|xargs kill -9
[root@localhost nirvana]# ps -ef|grep uwsgi
root     28039  4026  0 17:23 pts/1    00:00:00 grep uwsgi

ps -ef|grep uwsgi|grep -v grep|awk '{print $2}'|xargs kill -9
最后这一条命令就可以了


你可能感兴趣的:(kill,grep,awk)