2016-07-04 12 views
17

Sto cercando di fare in modo che RStudio esca con grazia mentre è in modalità non interattiva. Ho provato:Come chiudere in modo non interattivo RStudio con garbo

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

Funziona quando si chiama RScript myscript.R da cmd/shell.

Tuttavia, quando si genera il file in RStudio, viene visualizzato un errore interrotto di sessione R. C'è comunque qualcosa da fare da RStudio?

+0

Si riceve l'errore da RStudio o quando si esegue uno script dalla console? Trovo che l'uso di 'q()' tende a funzionare da quest'ultimo. – Chris

+0

Sì, stavo ricevendo questo errore in Rstudio. Mi chiedo se questo è stato il motivo per cui il programma stava chiudendo Rstudio e R studio non si rendevano conto di cosa stava succedendo .. – theArun

+1

Ha senso - Ho modificato la domanda un po 'per delineare più chiaramente il problema come uno RStudio, contro un non- uno interattivo. Se è solo non interattivo (cioè chiamando uno script dalla console), il codice che hai fornito funziona. Se ho frainteso, sentiti libero di tornare indietro! – Chris

risposta

6

L'applicazione RStudio e la sessione R sono processi diversi (ad esempio in Windows, se si apre Task Manager, è possibile vedere "R Rudio R session" nell'elenco dei processi in background). Quando si chiama in modo interattivo q(), entrambi si chiudono, ma quando si genera lo script si chiude solo la sessione R, non il programma RStudio, che quindi restituisce il messaggio di errore e offre di creare una nuova sessione.

Non sembra essere un modo per chiudere RStudio in modo non interattivo. Se ce ne fossero, sarebbe probabilmente nel pacchetto rstudioapi (https://github.com/rstudio/rstudioapi).

Problemi correlati