
Ich mache das,
[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
Aber es funktioniert, wenn ich es so sage
ssh <machine> "jps | gawk '\$2 == \"<process>\" {print \$1}' | xargs kill "
Warum ist das so ?
Antwort1
Ihre zweite Version des Befehls sendet den gesamten Befehl (in " .... " ) an den Server, um dort ausgeführt zu werden, Ihre erste Version sendet nur den ersten Teil jps
an den Server und führt dann den Rest des Befehls mithilfe der Ausgabe auf dem lokalen Computer aus.