我的情况是我有许多进程应该在不同的远程主机中同时启动(或多或少)。生成所有远程进程的主脚本应该等待所有进程完成,然后才能继续进行下一个分布式执行。到目前为止我尝试过的方法(在 Ubuntu Server 12.04 上没有成功,/bin/sh 指向 /bin/bash)是:
#!/bin/bash
for run_input in run1.data run2.data ; do
for i in `seq 0 10` ; do
ssh node$i "/path/to/bin $run_input /path/to/node$i.config" &
done
wait
done
那么,上述方法有什么问题呢?
编辑:
请注意,每个远程主机的命令都不同。