linux 远端执行shell脚本 批量结束各个远端节点进程

#以下是一个本地的shell脚本,用于同时重启远端多台服务器tomcat服务

#!/bin/sh
# ancyshi 重新启动节点tomcat服务
function restartNodeTomcatServer(){
node=$1
echo restart tomcat:$node
#ssh root@$node "/usr/local/apache-tomcat-6.0.43/bin/./shutdown.sh"
#结束tomcat进程
ssh root@$node "ps -ef | grep usr/local/apache-tomcat |grep -v grep | awk '{print $2}' | xargs kill -9"
ssh root@$node "killall python"
ssh root@$node "/usr/local/apache-tomcat-6.0.43/bin/./startup.sh"

}


array=( hainan hunan taiyuan shandong yunnan jiangsu jilin heilongjiang tianjin beijing neimenggu xinjiang gansu hubei sichuan xian guangxi jiangxi fujian guizhou anhui guangdong shanghai henan )
_n_=${#array[@]}
for((i=0;i<$_n_;i++));
do
restartNodeTomcatServer ${array[$i]}

done

方法一:

比如想杀abc
ps -ef | grep abc | awk '{print $2}' | xargs kill -9

方法二:

不需要这么麻烦,比如想杀死abc,这个命令简单又容易记:

kill `pidof abc`
kill -9 `pidof abc`

注意:
(1)那个“单引号”是TAB键上面的那个“倒单引号”,不是回车键旁边的单引号
(2)没事不要使用加 '-9'的kill,大部分情况下,第一种方式可以成功杀死

原文地址:https://www.cnblogs.com/shijiaoyun/p/4844295.html