Rev 43547 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/base/man/quit.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2007 R Core Development Team% Distributed under GPL 2 or later\name{quit}\alias{quit}\alias{q}\alias{.Last}\alias{.Last.sys}\title{Terminate an R Session}\usage{quit(save = "default", status = 0, runLast = TRUE)q(save = "default", status = 0, runLast = TRUE).Last <- function(x) { \dots\dots }}\arguments{\item{save}{a character string indicating whether the environment(workspace) should be saved, one of \code{"no"}, \code{"yes"},\code{"ask"} or \code{"default"}.}\item{status}{the (numerical) error status to be returned to theoperating system, where relevant. Conventionally \code{0}indicates successful completion.}\item{runLast}{should \code{.Last()} be executed?}}\description{The function \code{quit} or its alias \code{q} terminate the current\R session.}\details{\code{save} must be one of \code{"no"}, \code{"yes"},\code{"ask"} or \code{"default"}. In the first case the workspaceis not saved, in the second it is saved and in the third the user isprompted and can also decide \emph{not} to quit. The default is toask in interactive use but may be overridden by command-linearguments (which must be supplied in non-interactive use).Immediately \emph{before} terminating, the function \code{.Last()}is executed if it exists and \code{runLast} is true. If ininteractive use there are errors inthe \code{.Last} function, control will be returned to the commandprompt, so do test the function thoroughly. There is a systemanalogue, \code{.Last.sys()}, which is run after \code{.Last()}if \code{runLast} is true.Some error statuses are used by \R itself. The default errorhandler for non-interactive use effectively calls \code{q("no", 1,FALSE)} and returns error code 1. Error status 2 is used for \R\sQuote{suicide}, that is a catastrophic failure, and other smallnumbers are used by specific ports for initialization failures. Itis recommended that users choose statuses of 10 or more.Valid values of \code{status} are system-dependent, but \code{0:255}are normally valid. (Many OSes will report the last byte of thevalue, that is report the number modulo 256. But not all.)#ifdef windows% https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true% https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/if.mspx?mfr=trueWindows calls the status the \sQuote{error code} or \sQuote{exitcode}. It is returned in the environment variable\env{\%ERRORLEVEL\%} in \code{cmd.exe}, and in \env{LASTEXITCODE}in Windows PowerShell. Note that the \code{Rterm} reliably reportsthe \code{status} value, but \code{Rgui} may give an error code fromthe GUI interface.#endif}\references{Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)\emph{The New S Language}.Wadsworth \& Brooks/Cole.}\seealso{\code{\link{.First}} for setting things on startup.}\examples{\dontrun{## Unix-flavour example.Last <- function() {cat("Now sending PostScript graphics to the printer:\n")system("lpr Rplots.ps")cat("bye bye...\n")}quit("yes")}}\keyword{environment}