Bash 如何为循环并行运行

Bash 如何为循环并行运行,bash,Bash,我对bash不太熟悉,但我希望将此代码拆分,以便可以在具有12个处理器的服务器上运行它: #!/bin/bash #bashScript.sh for i in {1..209} do Rscript Compute.R $i done 我将如何实现这一目标 谢谢 试试看: #!/bin/bash #bashScript.sh for i in {1..209} do Rscript Compute.R $i & done 使用带有选项--max procs(-p)的xarg

我对bash不太熟悉,但我希望将此代码拆分,以便可以在具有12个处理器的服务器上运行它:

#!/bin/bash
#bashScript.sh
for i in {1..209}
do

Rscript Compute.R $i

done
我将如何实现这一目标

谢谢

试试看:

#!/bin/bash
#bashScript.sh
for i in {1..209}
do

Rscript Compute.R $i &

done

使用带有选项
--max procs
-p
)的
xargs
)。如果有足够的参数,
xargs
将使用这个数量的并发进程来处理输入:

#! /bin/bash
seq 209 |
xargs -P12 -r -n1 Rscript Compute.R
使用GNU并行:

parallel Rscript Compute.R ::: {1..209}
10秒安装:

wget -O - pi.dk/3 | sh
观看简介视频,快速介绍:

您是否使用linux?特别是,您有这个实用程序吗?答案可能是相关的:它将一次运行所有209个实例,性能可能比预期的差。。。更不用说,可能内存不足。。。