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到服务器,然后使用本地计算机上的输出执行该命令的其余部分。

相关内容