一个简单的问题,比如说我想通过 ssh 连接到集群机器并监控它们的一些信息。具体来说,我想nvidia-smi
在它们每个上运行以了解它们的 GPU 使用情况。我试过了:
for host in machine1 machine2 machine3
do
ssh "$host"
nvidia-smi
done
但它只登录到machine1
,然后就停在那里。只有在我退出后machine1
,才会nvidia-smi
执行,但在本地终端上,而不是在machine1
. 然后它登录machine2
并停在那里......
把你要执行的命令放在
ssh
一行:您可能需要指定
nvidia-smi
.此外,与其将服务器列表硬编码到此脚本(和其他类似脚本)中,不如将列表保存在文件中:
并将
for
行更改为:然后,当“服务器列表”更改时,您只需更改一个地方,而不是每个脚本。