Shell 并行构建/部署
我不确定该在上面贴什么标签: 我有一个Xcode项目,有多个方案,可以输出多个应用程序。我有一个脚本Shell 并行构建/部署,shell,parallel-processing,Shell,Parallel Processing,我不确定该在上面贴什么标签: 我有一个Xcode项目,有多个方案,可以输出多个应用程序。我有一个脚本archive\u all.sh,它通过调用archive.sh来设置一切,以构建和部署(测试飞行)每个应用程序(目前为13个)。我试图(愚蠢的我)做:sh archive.sh&在循环中,但我的笔记本电脑很难处理它,我计划在未来部署13个以上的应用程序 有没有一种方法,最好是在shell脚本中设置要调用的可执行文件队列?我的笔记本电脑可能一次可以处理3-4次调用archive.sh。尝试一下同时
archive\u all.sh
,它通过调用archive.sh
来设置一切,以构建和部署(测试飞行)每个应用程序(目前为13个)。我试图(愚蠢的我)做:sh archive.sh&
在循环中,但我的笔记本电脑很难处理它,我计划在未来部署13个以上的应用程序
有没有一种方法,最好是在shell脚本中设置要调用的可执行文件队列?我的笔记本电脑可能一次可以处理3-4次调用
archive.sh
。尝试一下同时支持Linux和Mac OS X的操作系统。它将自动检测CPU中的内核数量,并在这些内核上高效地执行任务。GNU Parallel适用于此类作业
parallel archive.sh {} ::: app1 app2 ... app15
这将通过每个CPU核心运行一个应用程序来为每个应用程序archive.sh
GNU Parallel是一个通用的并行程序,它使得在同一台机器上或在您有ssh访问权的多台机器上并行运行作业变得非常容易
如果您有32个不同的作业要在4个CPU上运行,并行化的直接方法是在每个CPU上运行8个作业:
GNU Parallel会在完成时生成一个新进程—使CPU保持活动状态,从而节省时间:
安装
如果您的发行版没有打包GNU Parallel,那么您可以进行个人安装,而不需要root访问。通过执行以下操作,可在10秒内完成:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
有关其他安装选项,请参阅
了解更多信息
请参阅更多示例:
观看介绍视频:
浏览本教程:
注册电子邮件列表以获得支持: