The function quit
or its alias q
terminate the current
R session.
quit(save = "default", status = 0, runLast = TRUE)
q(save = "default", status = 0, runLast = TRUE)
a character string indicating whether the environment
(workspace) should be saved, one of "no"
, "yes"
,
"ask"
or "default"
.
the (numerical) error status to be returned to the
operating system, where relevant. Conventionally 0
indicates successful completion.
should .Last()
be executed?
The value of .Last
is for the end user to control: as
it can be replaced later in the session, it cannot safely be used
programmatically, e.g.by a package. The other way to set code to be run
at the end of the session is to use a finalizer: see
reg.finalizer
.
save
must be one of "no"
, "yes"
,
"ask"
or "default"
. In the first case the workspace
is not saved, in the second it is saved and in the third the user is
prompted and can also decide not to quit. The default is to
ask in interactive use but may be overridden by command-line
arguments (which must be supplied in non-interactive use).
Immediately before normal termination, .Last()
is
executed if the function .Last
exists and runLast
is
true. If in interactive use there are errors in the .Last
function, control will be returned to the command prompt, so do test
the function thoroughly. There is a system analogue,
.Last.sys()
, which is run after .Last()
if
runLast
is true.
Exactly what happens at termination of an R session depends on the
platform and GUI interface in use. A typical sequence is to run
.Last()
and .Last.sys()
(unless runLast
is
false), to save the workspace if requested (and in most cases also
to save the session history: see savehistory
), then
run any finalizers (see reg.finalizer
) that have been
set to be run on exit, close all open graphics devices, remove the
session temporary directory and print any remaining warnings
(e.g., from .Last()
and device closure).
Some error status values are used by R itself. The default error
handler for non-interactive use effectively calls q("no", 1,
FALSE)
and returns error status 1. Error status 2 is used for R
‘suicide’, that is a catastrophic failure, and other small
numbers are used by specific ports for initialization failures. It
is recommended that users choose statuses of 10 or more.
Valid values of status
are system-dependent, but 0:255
are normally valid. (Many OSes will report the last byte of the
value, that is report the value modulo 256. But not all.)
Windows calls the status the ‘error code’ or ‘exit
code’. It is returned in the environment variable
%ERRORLEVEL%
in cmd.exe
, and in LASTEXITCODE
in Windows PowerShell. Note that the Rterm
reliably reports
the status
value, but Rgui
may give an error code from
the GUI interface.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
.First
for setting things on startup.
# 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")
# }
Run the code above in your browser using DataLab