【发布时间】:2015-03-04 16:28:36
【问题描述】:
对于我的模拟,我编写了一个小循环来同时运行多个(n=20)“my_script.R”实例:
#! /bin/bash
declare -i i=1 n=20
while [ $i -le $n ]; do
echo "#!/bin/bash --login" >my.qsub.${i}
echo "#PBS -l nodes=1:ppn=1" >> mu.qsub.${i}
echo "#PBS -l mem=2GB" >> my.qsub.${i}
echo "cd /~path to my wd/" >> my.qsub.${i}
echo "module load R/3.0.1" >> my.qsub.${i}
echo -n 'R CMD BATCH --vanilla --slave --no-timing my_script.R ' >> my.qsub.${i}
echo "" >> my.qsub.${i}
qsub -l walltime=03:59:00 my.qsub.${i}
sleep 2
let i+=1
done
在“my_script.R”中,我有一个 for 循环 (n=1,...,B),它在每次迭代结束时将其结果写入“fnam”.txt 文件:
cat(file=fnam, append=TRUE, Results[n,], "\n")
一切正常,但如果同一 R 脚本的两个不同实例尝试同时附加 fnam 文件,看起来可能会出现问题。
有没有人尝试过同步/排序方式,其中同一个 R 脚本的多个实例附加同一个输出文件?
【问题讨论】:
-
我可能会每次都写入一个单独的文件,然后再整理到一个文件中。
-
好建议!我会继续关注它:-)