Rstudio中的mcfork

waf*_*hin 11 r rstudio

我似乎无法使用mcforkfrom 在Rstudio中分叉一个新进程parallel,尽管这可以在linux/OS X上的标准R控制台中运行.是否有另一种解决方法来在Rstudio中分支子进程.

例如,考虑这个功能:

library(parallel)
f <- function() {
    p <- parallel:::mcfork()
    if (inherits(p, "masterProcess")) {
      cat("I'm a child!")
      parallel:::mcexit()
    }
    cat("I'm the master\n")
}
Run Code Online (Sandbox Code Playgroud)

在我的标准R控制台中,我得到了预期的输出:

I'm the master
> I'm a child!
Run Code Online (Sandbox Code Playgroud)

但在Rstudio中,我得到:

I'm the master
Run Code Online (Sandbox Code Playgroud)

Tyl*_*erH 0

由 Kevin Ushey 的评论转换而来的答案:

这是一个关于如何在 RStudio 中从 R 派生的子进程中处理 stdout/stderr 重定向的怪癖,但请注意,如果您要将输出重定向到文件,例如cat("I'm a child!", file = "~/child.txt")

-凯文·乌希2014 年 12 月 6 日凌晨 5:00