命令为
ps -ef | grep 进程名 | grep -v grep |awk '{print "kill -9 "$2}'|bash
例如:后台启动了n个java程序,想要一下子都杀掉,启动时候执行该命令启动的
java cn.edu.ruc.cmd.BootStrap
则批量杀进程命令为
ps -ef | grep cn.edu.ruc.cmd.BootStrap | grep -v grep |awk '{print "kill -9 "$2}'|bash
解释带点水
命令解释:
ps -ef:查询所有进程
第一个grep : 查询相关的进程
grep -v grep : 排除刚执行的grep命令
awk : 书写kill 命令
bask: 执行kill命令
===============
另外一个例子,newmsg.php是一个后台运行的websocket服务,分为开发站和测试站,有多个进程,先把它们都杀死然后分别启动:
#!/bin/bash
ps -ef |grep newmsg.php | grep -v grep |awk '{print "kill -9 "$2}'|bash
/www/server/php/70/bin/php /www/wwwroot/web_test/newmsg.php > /dev/null &
/www/server/php/70/bin/php /www/wwwroot/web_dev/newmsg.php > /dev/null &