我尝试模仿这个答案中提供的解决方案,它找到并杀死一个进程,并开发了以下脚本,该脚本 ssh 到输入参数中指定的机器列表并杀死所需的进程。
for node in "$@"; do
ssh $node "kill $(ps aux | grep '[s]omeprocess' | awk '{print $2}')"
done
$2
中使用的变量awk '{print $2}'
应该是传递的第二个参数grep [s]omeprocess
。但是,似乎使用了整个脚本的第二个输入参数(这部分我错了吗)。我能知道我如何awk '{print $2}'
才能真正得到上一个grep
操作传递的第二个参数吗?或者,有没有更好的方法来跨多台机器查找和终止进程?谢谢!