ssh 進入機器並蒐索進程,使用 xargs 殺死

ssh 進入機器並蒐索進程,使用 xargs 殺死

我正在做這個,

[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

但如果我這樣說就好了

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

為什麼 ?

答案1

該命令的第二個版本將整個命令(在「 .... 」中)發送到伺服器以在那裡執行,您的第一個版本僅將第一部分發送jps到伺服器,然後使用輸出執行命令的其餘部分在本地機器上。

相關內容