启动和终止 R 会话的过程是使用Rscript. 所以写你的脚本这样称呼它们:
Rscript script_1.R
Rscript script_2.R
...
Rscript script_Inf.R
剩下第 2 点和第 5 点......这是一个简单的问题:
source('/home/sc_evans/script_abc.R')
...在任何脚本的开头。
每个脚本都将获得自己的 R 会话,该会话将在完成后终止。将这些命令放入批处理脚本并运行它。
编辑
如果我自己这样做,我会忘记使用单独的脚本。只要您正确管理内存,运行单个进程就可以正常工作。将您的流程划分为适当的功能:
massive_process_1 <- function() {
x <- do_something()
saveRDS(x, '/home/sc_evans/results/first_result.rds')
}
massive_process_2 <- function() {
x <- do_something()
saveRDS(x, '/home/sc_evans/results/second_result.rds')
}
massive_process_1()
massive_process_2()
等等。下一个函数在第一个函数完成之前不会运行,并且您的对象应该在函数中消失,因此您不应该耗尽内存。