长R系统调用挂起

长R系统调用挂起,r,R,我非常感谢您在以下方面给予我帮助: 我只是从foreach中的R并行运行了3个独立应用程序实例。请参阅下面的模拟代码: require("foreach") require("doMC") registerDoMC(cores=3) foreach(sample=1:9) %dopar%{ system2(command="app", args=c("some","args"), stdout = NULL, stderr = NULL) }

我非常感谢您在以下方面给予我帮助:

我只是从foreach中的R并行运行了3个独立应用程序实例。请参阅下面的模拟代码:

require("foreach")
require("doMC")

registerDoMC(cores=3)
foreach(sample=1:9) %dopar%{
        system2(command="app", args=c("some","args"), 
                stdout = NULL, stderr = NULL) 
}
无论我是否使用
system
system2
,在任务管理器中我都可以看到:

  • 教师(家长)
  • 3个会话(来自foreach)
  • 3x应用程序(流程)
  • 问题是:父级占用大量CPU并不断消耗RAM,直到我陷入交换。对于任何
    app
    、foreach中任何数量的线程,以及本质上任何来自R的系统调用,都会发生这种情况,这些调用运行的时间超过了可以忽略不计的时间,因此挂起并且永远不会返回

    我的机器有Debian Jessie和R3.2.3


    提前谢谢你

    好的,我已经找到了导致问题的原因:RStudio。
    rsession
    父对象可能正在扫描文件更改并在某个地方暂停,直到进程完成。从控制台运行R显示没有此类问题。

    好的,我已找到导致问题的原因:RStudio。
    rsession
    父对象可能正在扫描文件更改并在某个地方暂停,直到进程完成。从控制台运行R不会显示这样的问题