Я делаю это,

guastest@iridium06.psc ~> ssh <machine> jps | gawk '$2 == "<process>" {print $1}' | xargs kill
kill: sending signal to 75797 failed: No such process
guastest@iridium06.psc ~> echo $?
123

Но работает, если я так выразился

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

Почему это так ?

1 ответ1

2

Ваша вторая версия команды отправляет всю команду (в «....») на сервер, который будет выполняться там, ваша первая версия отправляет на сервер только первую часть jps , а затем выполняет остальную часть команды, используя команду вывод на локальную машину.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .