ssh em uma máquina e procura pelo processo, mata usando xargs

0

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 dessa maneira

ssh <machine> "jps | gawk '\ == \"<process>\" {print \}' | xargs kill "

Por que isso acontece?

    
por Vinu Shankar 25.05.2017 / 14:35

1 resposta

2

Sua segunda versão do comando envia o comando inteiro (em "....") para o servidor a ser executado lá, sua primeira versão envia apenas a primeira parte jps para o servidor e, em seguida, executa o resto do comando usando a saída na máquina local.

    
por 25.05.2017 / 14:58

Tags