bash - 并行执行脚本
问题描述
我有脚本,它将作为来自中央服务器的参数执行,如下所示 -
`SCRIPT.sh host1`
像上面一样,我必须在许多主机上执行。所以每个主机需要 1 分钟才能执行。
SCRIPT.sh host1
SCRIPT.sh host2
SCRIPT.sh host3
......
.........
到目前为止,我正在尝试以下简单的 for 循环,这需要太多时间。
for i in `cat host_list`;do echo $i;SCRIPT.sh $i;done
任何可能并行执行上述 for 循环,我的意思是一次 50/100 个主机。?请有任何建议。
解决方案
您可以使用“&”在不同的 shell 中运行并行批处理命令。
for i in `cat host_list`;do echo $i;SCRIPT.sh $i & done
此外,如果有很多 shell 脚本,您可以在它们之间放置“等待”。
推荐阅读
- swift - 从剪贴板快速粘贴音频文件(.mp3、.m4a 等)并保存
- java - 无法将 Mpesa Api 集成到我的 Android 应用程序中
- node.js - 如何访问使用混合类型模式的 mongoose 查询的 mongodb 数据中的每个字段值
- python - 有机会的记号
- reactjs - ReactNative & Expo:离子不渲染
- dataframe - 有没有办法将 Spark 数据帧写入 .dat 文件?
- javascript - 如何使用 JavaScript 包含 HTML 页面?
- java - 用于消息识别的 API(文本而非语音)
- c++ - 在 Visual Studio 中运行/调试 c++ 时如何在最后等待输入
- python - 使用特定条件Python加入列表中的项目