2016-07-04 2 views
17

Я ищу, чтобы заставить RStudio изящно выйти в неинтерактивном режиме. Я пробовал:Как не интерактивно выйти из RStudio изящно

stop("",call = quit(save = "no",status = 0, runLast = FALSE)) 

Он работает при вызове RScript myscript.R из CMD/оболочки.

Однако, когда я исхожу из файла в RStudio, я получаю прерывистую ошибку сеанса R. Есть ли способ сделать это из RStudio?

+0

Вы получаете ошибку из RStudio или при запуске скрипта с консоли? Я считаю, что использование 'q()' имеет тенденцию работать от последнего. – Chris

+0

Да, я получал эту ошибку в Rstudio. Интересно, было ли это причиной закрытия программы? Студия Rstudio и R не понимала, что происходит. – theArun

+1

Делает смысл - я немного изменил вопрос, чтобы более четко описать проблему как RStudio, интерактивный. Если его просто неинтерактивный (т. Е. Вызов скрипта с консоли), код, который вы предоставили, работает. Если я не понял, не стесняйтесь откатываться! – Chris

ответ

6

Приложение RStudio и сеанс R являются различными процессами (например, в Windows, если вы открываете Диспетчер задач, вы можете увидеть «RStudio R session» в списке фоновых процессов). Когда вы вызываете q() в интерактивном режиме, он закрывает оба, но при исходном сценарии он закрывает сеанс R, а не программу RStudio, которая затем возвращает сообщение об ошибке и предлагает создать новый сеанс.

Кажется, что нет возможности закрыть RStudio не интерактивно. Если бы это было возможно, это, вероятно, было бы в пакете rstudioapi (https://github.com/rstudio/rstudioapi).

Смежные вопросы