如何以非交互方式优雅地退出RStudio

如何以非交互方式优雅地退出RStudio,r,R,我想让RStudio在非交互模式下优雅地退出。我试过: stop("",call = quit(save = "no",status = 0, runLast = FALSE)) 它在从cmd/shell调用RScript myscript.R时工作 但是,当我在RStudio中生成文件时,我得到一个R会话中止错误。RStudio是否仍有此功能?RStudio应用程序和R会话是不同的进程(例如,在Windows中,如果打开任务管理器,您可以在后台进程列表中看到“RStudio R会话”)。当您

我想让RStudio在非交互模式下优雅地退出。我试过:

stop("",call = quit(save = "no",status = 0, runLast = FALSE))
它在从cmd/shell调用RScript myscript.R时工作


但是,当我在RStudio中生成文件时,我得到一个R会话中止错误。RStudio是否仍有此功能?

RStudio应用程序和R会话是不同的进程(例如,在Windows中,如果打开任务管理器,您可以在后台进程列表中看到“RStudio R会话”)。当您以交互方式调用
q()
时,它会同时关闭这两个会话,但当您编写脚本时,它只会关闭R会话,而不会关闭RStudio程序,然后该程序会返回错误消息并提供创建新会话的机会


似乎没有办法以非交互方式关闭RStudio。如果有,它可能在rstudioapi包()中

您是从RStudio内部还是从控制台运行脚本时收到错误?我发现使用
q()
倾向于从后者开始工作。是的,我在Rstudio中遇到了这个错误。我想知道这是否是因为程序关闭了Rstudio,而R studio没有意识到发生了什么……有道理——我对问题进行了一些编辑,以便更清楚地将问题概括为Rstudio问题,而不是非交互式问题。如果只是非交互式的(即从控制台调用脚本),那么您提供的代码就可以工作。如果我误解了,请随意回退!你能解释一下为什么要在RStudio中这样做,而不是从命令行运行Rscript,以及为什么应用程序必须自动关闭吗?虽然不是很优雅,但是系统/killall调用如何:linux
system('killall RStudio')
shell('taskkill/F/IM“RStudio.exe”/T')