Tag: cran

卸载rJava和/或重新启动JVM

我想将rJava与mcparallel结合使用,但显然JVM不能分叉 。 因此,需要为每个子进程启动单独的JVM实例,例如: library(rJava) library(parallel) myfile <- system.file("tests", "test_import.xlsx", package = "xlsx") #This works: mccollect(mcparallel({ #Automatically initiates JVM in child xlsx::read.xlsx(myfile, 1) })) 但是我的问题是JVM已经在(主)父进程中启动了。 这使得在子进程中无法使用rJava : #init JVM in parent .jinit() #Doesn’t work anymore mccollect(mcparallel({ xlsx::read.xlsx(myfile, 1) })) 所以我真正需要的是在子进程中关闭/终止和重启JVM的方法。 简单地detach(“package:rJava”, unload = TRUE)似乎没有做到这一点。 force.init参数似乎也没有导致重启: #Also doesn’t work: .jinit() mccollect(mcparallel({ .jinit(force.init = TRUE) xlsx::read.xlsx(myfile, 1) })) […]