bash脚本杀死远程机器上的进程

时间:2015-03-11 06:27:41

标签: bash ssh

我想通过ssh终止远程计算机上的进程,但它无效

VAR=$(ssh ${HOSTS} ps -ef | grep $SERVICE | grep -v grep | awk '{print $2}' | xargs kill -9)
ssh ${HOSTS} ps ef < /dev/null > /dev/null 2> /dev/null

2 个答案:

答案 0 :(得分:0)

问题是您的管道进程在本地主机而不是服务器上执行。

解决方案是引用保护命令:

 VAR=$(ssh ${HOSTS} "ps -ef | grep $SERVICE | grep -v grep | awk '{print \$2}' | xargs kill -9")
 ssh ${HOSTS} "ps ef" < /dev/null > /dev/null 2> /dev/null

答案 1 :(得分:0)

下面的命令对我来说很有效,可以杀死删除服务器上的进程。 我能够终止在远程服务器上运行的 tail 命令。

ssh -tty ${Host}" ps -efwww | grep tail |grep -v grep |cut -c 10-15|xargs kill -9 "