I'm attempting to use R to open a .Rproj file used in RStudio. I have succeeded with the code below (stolen from Ananda here). However, the connection to open RStudio called from R is not closed after the file is opened. How can I sever this "connection" after the .Rproj file is opened? (PS this has not been tested on Linux or Mac yet).
## Create dummy .Rproj x <- c("Version: 1.0", "", "RestoreWorkspace: Default", "SaveWorkspace: Default", "AlwaysSaveHistory: Default", "", "EnableCodeIndexing: Yes", "UseSpacesForTab: No", "NumSpacesForTab: 4", "Encoding: UTF-8", "", "RnwWeave: knitr", "LaTeX: pdfLaTeX") loc <- file.path(getwd(), "Bar.rproj") cat(paste(x, collapse = "\n"), file = loc) ## wheresRStudio function to find RStudio location wheresRstudio <- function() { myPaths <- c("rstudio", "~/.cabal/bin/rstudio", "~/Library/Haskell/bin/rstudio", "C:\\PROGRA~1\\RStudio\\bin\\rstudio.exe", "C:\\RStudio\\bin\\rstudio.exe") panloc <- Sys.which(myPaths) temp <- panloc[panloc != ""] if (identical(names(temp), character(0))) { ans <- readline("RStudio not installed in one of the typical locations.\n Do you know where RStudio is installed? (y/n) ") if (ans == "y") { temp <- readline("Enter the (unquoted) path to RStudio: ") } else { if (ans == "n") { stop("RStudio not installed or not found.") } } } temp } ## function to open .Rproj files open_project <- function(Rproj.loc) { action <- paste(wheresRstudio(), Rproj.loc) message("Preparing to open project!") system(action) } ## Test it (it works but does no close) open_project(loc)
closeAllConnections()?closeAllConnectionsas you don't know what other connections in other packages it may close.