前景提要
HDC调试需求开发(15万预算),能者速来!>>> 需求大致如下1、a b c 3台服务器 2、在a上ssh到b上,b在ssh到c,查找到c上面特定的进程pid
3、在a上ssh到b上,b在ssh到c,kill掉上面步骤中找到的进程
需求1和2 已经实现,需求3 kill会有问题
执行kill命令的时候,是在b机器而不是c机器了
xargs和管道前面的,却都是在c执行的,进程号也能获取到了
大家看看有什么改进办法
shell脚本代码
执行过程
b、c机器都不方便放脚本远程调用执行,所以只能这样搞
脚本代码片段和尝试过的办法顺便也列举一下,以下都不行 #远程ssh执行片段代码 echo -e "\n\n\n\n" PID1=$(ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "ps -ef | grep -v grep | grep tail | grep "$PWD/$PROJECT/$FILE" | awk '{print \$2}'") echo -e ">>>>>>>>>>>>>>>>$PID1" ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "echo $PID1 | xargs kill -9" echo -e "status is >>>>>>>>>>$?" #尝试kill进程代码片段,注释行都无法kill进程 #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "ps -ef | grep -v grep | grep tail | grep "$PWD/$PROJECT/$FILE" | cut -d' ' -f 5 | xargs -i kill {}" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "ps -ef | grep -v grep | grep tail | grep "$PWD/$PROJECT/$FILE" | cut -d' ' -f 5 | xargs kill" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "kill -9 $(echo $PID1)" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "echo $PID1 | xargs kill -9" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "kill -9 $PID1" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP kill -9 "$PID1" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh tomcat@$IP "kill -9 ${PID1}" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh tomcat@$IP ". /etc/profile && kill -9 ${PID 1}" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "kill -9 $(ps -ef | grep -v g rep | grep tail | grep "$PWD/$PROJECT/$FILE" | awk '{print \$2}')" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "kill -9 `ps -ef | grep -v gr ep | grep tail | grep "$PWD/$PROJECT/$FILE" | awk '{print \$2}'`" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "source /home/tomcat/.bash_pr ofile && /bin/kill -9 "$PID1"" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "source /home/tomcat/.bash_pr ofile && ps -ef | grep -v grep | grep tail | grep "$PWD/$PROJECT/$FILE" | awk '{print \$2}' | xargs kill -9" #$(ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "ps -ef | grep -v grep | gr ep tail | grep "$PWD/$PROJECT/$FILE" | awk '{print \$2}' | xargs kill -9") #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "ps -ef | grep -v grep | grep tail | grep "$PWD/$PROJECT/$FILE" | awk '{print \$2}' | xargs kill -9" #ssh -A -t -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no tomcat@192.168.10.56 ssh -A tomcat@$IP "ps -ef | grep -v grep | grep tail | grep "$PWD/$PROJECT/$FILE" | awk '{print \$2}' | xargs -i kill {}"