等待进程完成

时间:2014-11-25 12:20:37

标签: bash

你可以帮我解决下面这个问题吗?

我必须向主机发送命令(该命令需要大量时间来执行并创建文件):

ssh uname1@host1 ssh uname2@host2 'command1'

执行此命令后,我需要压缩创建的文件

ssh uname1@host1 ssh uname2@host2 'gzip file1'

为另一台主机做同样的事情

ssh uname3@host3 ssh uname4@host4 'command1'
ssh uname1@host1 ssh uname2@host2 'gzip file2'

是否可以并行运行这两个命令以节省脚本执行的时间? 提前谢谢你。

2 个答案:

答案 0 :(得分:4)

尝试类似

的内容
ssh uname2@host2 'command1 && gzip file1' &
ssh uname2@host3 'command1 && gzip file1' &
ssh uname2@host4 'command1 && gzip file1' &

您可以将所有命令放在从

开始的主机上的文件中 此上下文中的

&&;类似,但第二个命令仅在第一个命令有效时执行

答案 1 :(得分:2)

简单地说:

ssh uname1@host1 ssh uname2@host2 'command1; gzip file1'

如果只运行gzip,则第一个命令成功,然后:

ssh uname1@host1 ssh uname2@host2 'command1 && gzip file1'

第二个命令将在第一个命令之后启动。

相关问题