如何在RStudio中使用mcfork派生新进程? [英] How can I fork a new process using mcfork in RStudio?

查看:20
本文介绍了如何在RStudio中使用mcfork派生新进程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我似乎无法使用parallel中的mcfork在RStudio中派生新进程,但这在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
")
}

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

我是主人
>;我是个孩子!

但在RStudio中,我得到:

我是主人

推荐答案

答案转换自a comment by Kevin Ushey

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

),这将会起作用

-Kevin Ushey14年12月6日凌晨5:00

这篇关于如何在RStudio中使用mcfork派生新进程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆