4

我对 bash 不是很熟悉,但我想拆分这段代码,以便可以在具有 12 个处理器的服务器上运行它:

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

Rscript Compute.R $i

done

我将如何实现这一目标?

谢谢!

4

3 回答 3

4

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

#! /bin/bash
seq 209 |
xargs -P12 -r -n1 Rscript Compute.R
于 2013-07-19T18:59:41.340 回答
1

使用 GNU 并行:

parallel Rscript Compute.R ::: {1..209}

10秒安装:

wget -O - pi.dk/3 | sh

观看介绍视频以进行快速介绍: https ://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

于 2013-07-19T21:06:47.993 回答
1

尝试:

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

Rscript Compute.R $i &

done
于 2013-07-19T18:51:49.560 回答