如何在bash中触发多个远程Shell脚本并发运行,然后等待它们完成?

西莫

我有一个bash脚本,可以通过SSH在远程计算机上运行许多任务。每个脚本都很长,因此我想同时作为后台任务运行它们。在继续之前,我还需要它们全部完成。我知道我可以为后者使用wait命令,但是当我坚持并最终使它成为后台任务时,所有命令都将停止工作。

通过停止工作,我的意思是脚本似乎没有运行,但否则主脚本仍会完成。

ssh root@machine1 'bash -s' < script1 my_parameter
ssh root@machine2 'bash -s' < script2 my_parameter
ssh root@machine3 'bash -s' < script3 my_parameter

wait

some_other_task
赛勒斯

这对于Ubuntu 11.04来说对我来说很好用:

#!/bin/bash
ssh user@server1 <command.sh &
ssh user@server2 <command.sh &
ssh user@server3 <command.sh &

wait

echo end

command.sh的内容:

sleep 5
hostname


更新:

使用命令行参数,它变得更加复杂。您可以使用“这里文档”并set设置$ 1 $ 2 $ 3。

#!/bin/bash

ssh -T root@server1 << EOF
#!/bin/bash
set -- $my_parameter1 $my_parameter2 $my_parameter3
$(cat script1)
EOF

ssh -T root@server2 << EOF
#!/bin/bash
set -- $my_parameter1 $my_parameter2 $my_parameter3
$(cat script2)
EOF

ssh -T root@server3 << EOF
#!/bin/bash
set -- $my_parameter1 $my_parameter2 $my_parameter3
$(cat script3)
EOF

wait

echo end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在bash中触发多个远程Shell脚本并发运行,然后等待它们完成?

来自分类Dev

如何在Jenkins上配置多个Shell脚本并运行它们而无需等待其他脚本

来自分类Dev

在新流程中运行方法,然后等待它们完成

来自分类Dev

在新过程中运行方法,然后等待它们完成

来自分类Dev

针对SQL Server中的表并发运行的脚本

来自分类Dev

针对SQL Server中的表并发运行的脚本

来自分类Dev

如何并行运行多个子流程并等待它们在Python中完成

来自分类Dev

如何等待用户关闭vim然后在shell脚本中运行命令

来自分类Dev

从脚本和并发运行 celery worker

来自分类Dev

如何等待findObjectsInBackgroundWithBlock(在Parse中)完成然后运行MainThread?

来自分类Dev

如何在cygwin中运行bash shell脚本?

来自分类Dev

如何在cygwin中运行bash shell脚本?

来自分类Dev

Ctrl + C时如何在shell脚本中杀死并等待后台进程完成?

来自分类Dev

如何等待我的远程脚本完成,这是由 paramiko 模块触发的

来自分类Dev

Spring - 如何在完成之前运行一系列线程并等待它们完成?

来自分类Dev

如何在Elastic MapReduce上的Hadoop 2.4.0中设置每个节点的并发运行任务的最大精确数量

来自分类Dev

如何并行运行多个Kotlin协程并等待它们完成后再继续

来自分类Dev

如何将变量替换为 bash 脚本,然后在 Linux 中的远程服务器上运行

来自分类Dev

如何在Shell脚本中运行别名?

来自分类Dev

如何在Shell脚本中运行SQL

来自分类Dev

如何在Shell脚本中运行别名?

来自分类Dev

如何在Shell脚本中运行SQL

来自分类Dev

如何在Shell脚本中运行Shell脚本

来自分类Dev

如何在python脚本中运行一些代码,然后暂停脚本并等待来自另一个脚本的函数调用

来自分类Dev

创建多个线程并等待它们全部完成,然后再次调用完成线程

来自分类Dev

如何在bash脚本中运行命令?

来自分类Dev

在tcsh中,我如何派生多个shell命令,等到它们全部完成,然后再执行另一个命令?

来自分类Dev

如何在退出程序之前等待并发ML线程完成?

来自分类Dev

如何在Shell脚本中匹配然后替换多行

Related 相关文章

  1. 1

    如何在bash中触发多个远程Shell脚本并发运行,然后等待它们完成?

  2. 2

    如何在Jenkins上配置多个Shell脚本并运行它们而无需等待其他脚本

  3. 3

    在新流程中运行方法,然后等待它们完成

  4. 4

    在新过程中运行方法,然后等待它们完成

  5. 5

    针对SQL Server中的表并发运行的脚本

  6. 6

    针对SQL Server中的表并发运行的脚本

  7. 7

    如何并行运行多个子流程并等待它们在Python中完成

  8. 8

    如何等待用户关闭vim然后在shell脚本中运行命令

  9. 9

    从脚本和并发运行 celery worker

  10. 10

    如何等待findObjectsInBackgroundWithBlock(在Parse中)完成然后运行MainThread?

  11. 11

    如何在cygwin中运行bash shell脚本?

  12. 12

    如何在cygwin中运行bash shell脚本?

  13. 13

    Ctrl + C时如何在shell脚本中杀死并等待后台进程完成?

  14. 14

    如何等待我的远程脚本完成,这是由 paramiko 模块触发的

  15. 15

    Spring - 如何在完成之前运行一系列线程并等待它们完成?

  16. 16

    如何在Elastic MapReduce上的Hadoop 2.4.0中设置每个节点的并发运行任务的最大精确数量

  17. 17

    如何并行运行多个Kotlin协程并等待它们完成后再继续

  18. 18

    如何将变量替换为 bash 脚本,然后在 Linux 中的远程服务器上运行

  19. 19

    如何在Shell脚本中运行别名?

  20. 20

    如何在Shell脚本中运行SQL

  21. 21

    如何在Shell脚本中运行别名?

  22. 22

    如何在Shell脚本中运行SQL

  23. 23

    如何在Shell脚本中运行Shell脚本

  24. 24

    如何在python脚本中运行一些代码,然后暂停脚本并等待来自另一个脚本的函数调用

  25. 25

    创建多个线程并等待它们全部完成,然后再次调用完成线程

  26. 26

    如何在bash脚本中运行命令?

  27. 27

    在tcsh中,我如何派生多个shell命令,等到它们全部完成,然后再执行另一个命令?

  28. 28

    如何在退出程序之前等待并发ML线程完成?

  29. 29

    如何在Shell脚本中匹配然后替换多行

热门标签

归档