
Eu estou fazendo isso,
[email protected] ~> ssh <machine> jps | gawk '$2 == "<process>" {print $1}' | xargs kill
kill: sending signal to 75797 failed: No such process
[email protected] ~> echo $?
123
Mas está funcionando se eu colocar desta forma
ssh <machine> "jps | gawk '\$2 == \"<process>\" {print \$1}' | xargs kill "
Por que ?
Responder1
Sua segunda versão do comando envia o comando inteiro (em " .... " ) para o servidor para ser executado lá, sua primeira versão envia apenas a primeira parte jps
para o servidor, e então executa o restante do comando usando a saída na máquina local.