我不知道该给它贴上什么标签:
我有一个Xcode项目与多个方案,输出多个应用程序。我有一个脚本archive_all.sh,它通过调用archive.sh来设置构建和部署(到TestFlight)每个应用程序(目前有13个)。我尝试(愚蠢的我)去做:循环中的sh archive.sh &,但我的笔记本电脑很难处理它,我计划在未来部署比13个更多的应用程序。
有没有办法(最好是在shell脚本中)设置一个可执行文件队列以供调用?我的笔记本电脑可能一次可以处理3-4个对archive.sh的呼叫。
发布于 2012-01-15 16:45:16
试试同时支持Linux和Mac的ppss,它会自动检测你的中央处理器中的核心数量,并在这些核心上高效地执行任务。
发布于 2015-04-30 05:00:43
GNU并行是为这些类型的作业而设计的。
parallel archive.sh {} ::: app1 app2 ... app15这将通过在每个CPU核心上运行一个来为每个应用程序运行archive.sh。
GNU Parallel是一个通用的并行化程序,可以很容易地在同一台机器上或在您有ssh访问权限的多台机器上并行运行作业。
如果您希望在4个CPU上运行32个不同的作业,那么一种直接的并行方法是在每个CPU上运行8个作业:

GNU并行在一个进程完成时会产生一个新的进程--保持CPU活动,从而节省时间:

Installation
如果GNU Parallel没有为您的发行版打包,您可以进行个人安装,这不需要root访问权限。通过这样做,可以在10秒内完成:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash有关其他安装选项,请参阅http://git.savannah.gnu.org/cgit/parallel.git/tree/README
了解更多信息
查看更多示例:http://www.gnu.org/software/parallel/man.html
观看介绍视频:https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
浏览教程:http://www.gnu.org/software/parallel/parallel_tutorial.html
注册电子邮件列表以获得支持:https://lists.gnu.org/mailman/listinfo/parallel
https://stackoverflow.com/questions/8832103
复制相似问题