R system2 运行 并行的不同脚本

R system2 run different scripts in parallel

我相信使用 system2() 是 运行 两个并行 R 脚本的好选择。我正在尝试如下操作:

Sys.time()
system2(command = 'Sys.sleep(5)', wait = FALSE)
system2('Sys.sleep(7)', wait = FALSE)
Sys.time()

但是,它不起作用,我也收到此警告:

running command '"Sys.sleep(7)"' had status 127

system 或 system2 的文档没有显示任何示例,我也找不到太多。 有没有人试过这个选项来解决这个问题?

以下对我有效:

 system("Rscript -e 'Sys.sleep(5); \"task 1\"'", wait=FALSE)
 system("Rscript -e 'Sys.sleep(7); \"task 2\"'", wait=TRUE)
 [1] "task 1"
 [1] "task 2"

版本 system2()(感谢 HenrikB 的评论):

system2("Rscript", args = c("-e", "'Sys.sleep(5); \"task 1\"'"), wait=FALSE)
system2("Rscript", args = c("-e", "'Sys.sleep(7); \"task 2\"'"), wait=TRUE)
[1] "task 1"
[1] "task 2"