当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R quit 终止 R 会话


R语言 quit 位于 base 包(package)。

说明

函数quit或其别名q终止当前的R会议。

用法

quit(save = "default", status = 0, runLast = TRUE)
   q(save = "default", status = 0, runLast = TRUE)

参数

save

指示是否应保存环境(工作空间)的字符串,为 "no""yes""ask""default" 之一。

status

要返回到操作系统的(数字)错误状态(如果相关)。按照惯例,0 表示成功完成。

runLast

应该执行.Last()吗?

细节

save 必须是 "no""yes""ask""default" 之一。在第一种情况下,工作区不会保存,在第二种情况下,工作区会被保存,在第三种情况下,系统会提示用户,也可以决定不退出。默认设置是在交互式使用中询问,但可能会被命令行参数覆盖(必须在非交互式使用中提供)。

在正常终止之前,如果函数.Last存在并且runLast为真,则执行.Last()。如果在交互使用中.Last函数出现错误,控制权将返回到命令提示符,因此请彻底测试该函数。有一个系统模拟 .Last.sys() ,如果 runLast 为 true,则在 .Last() 之后运行。

终止时到底会发生什么R会话取决于所使用的平台和 GUI 接口。典型的顺序是运行.Last().Last.sys()(除非runLast为 false),根据请求保存工作区(并且在大多数情况下还保存会话历史记录:请参阅savehistory),然后运行任何终结器(请参阅reg.finalizer)已设置为在退出时运行,关闭所有打开的图形设备,删除会话临时目录并打印任何剩余的警告(例如,来自.Last()和设备关闭)。

一些错误状态值被使用R本身。非交互式使用的默认错误处理程序有效调用q("no", 1, FALSE)并返回错误状态 1。错误状态 2 用于R‘suicide’,即灾难性故障,其他小数字被特定端口使用,用于初始化失败。建议用户选择10个或以上的状态。

status 的有效值取决于系统,但 0:255 通常有效。 (许多操作系统会报告该值的最后一个字节,即报告模 256 的值。但不是全部。)

警告

.Last 的值由最终用户控制:由于它可以在会话中稍后替换,因此不能安全地以编程方式使用,例如通过一个包。将代码设置为在会话结束时运行的另一种方法是使用终结器:请参阅 reg.finalizer

注意

macOS 上的 R.app GUI 有自己的这些函数版本,save 参数的行为略有不同(考虑了此操作的 GUI 的“启动”首选项)。

例子

## Not run: ## Unix-flavour example
.Last <- function() {
  graphics.off() # close devices before printing
  cat("Now sending PDF graphics to the printer:\n")
  system("lpr Rplots.pdf")
  cat("bye bye...\n")
}
quit("yes")
## End(Not run)

参考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

也可以看看

.First 用于在启动时进行设置。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Terminate an R Session。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。