quit                  package:base                  R Documentation

_T_e_r_m_i_n_a_t_e _a_n _R _S_e_s_s_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     The function 'quit' or its alias 'q' terminate the current R
     session.

_U_s_a_g_e:

     quit(save = "default", status = 0, runLast = TRUE)
        q(save = "default", status = 0, runLast = TRUE)
     .Last <- function(x) { ...... }

_A_r_g_u_m_e_n_t_s:

    save: a character string indicating whether the environment
          (workspace) should be saved, one of '"no"', '"yes"', '"ask"'
          or '"default"'.

  status: the (numerical) error status to be returned to the operating
          system, where relevant. Conventionally '0' indicates
          successful completion.

 runLast: should '.Last()' be executed?

_D_e_t_a_i_l_s:

     '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_ terminating, the function '.Last()' is
     executed if it 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 statuses are used by R itself.  The default error
     handler for non-interactive use effectively calls 'q("no", 1,
     FALSE)' and returns error code 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 number modulo 256.  But not all.)

_R_e_f_e_r_e_n_c_e_s:

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

_S_e_e _A_l_s_o:

     '.First' for setting things on startup.

_E_x_a_m_p_l_e_s:

     ## Not run: 
     ## Unix-flavour example
     .Last <- function() {
       cat("Now sending PostScript graphics to the printer:\n")
       system("lpr Rplots.ps")
       cat("bye bye...\n")
     }
     quit("yes")
     ## End(Not run)

