X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fmanual%2Fstart-stop.texinfo;h=a4e1e5519d00c7891cff421cc23649a6c1e896bf;hb=1c74f342b23aafaa8f514112c9bcca7526e07a58;hp=6edab559975b55017b745d2508eab6e437cd7d62;hpb=74cfbf6d0572b7df1b3492563408a7cb3ae103cf;p=sbcl.git diff --git a/doc/manual/start-stop.texinfo b/doc/manual/start-stop.texinfo index 6edab55..a4e1e55 100644 --- a/doc/manual/start-stop.texinfo +++ b/doc/manual/start-stop.texinfo @@ -41,7 +41,7 @@ distribution for more information. * (+ 2 2) 4 -* (quit) +* (exit) $ @end smallexample @@ -96,22 +96,21 @@ Hello, World! @section Stopping SBCL @menu -* Quit:: +* Exit:: * End of File:: * Saving a Core Image:: * Exit on Errors:: @end menu -@node Quit +@node Exit @comment node-name, next, previous, up -@subsection Quit +@subsection Exit -SBCL can be stopped at any time by calling @code{sb-ext:quit}, +SBCL can be stopped at any time by calling @code{sb-ext:exit}, optionally returning a specified numeric value to the calling process. -See notes in @ref{Threading} about the interaction between this -feature and sessions. +See @ref{Threading} for information about terminating individual threads. -@include fun-sb-ext-quit.texinfo +@include fun-sb-ext-exit.texinfo @node End of File @comment node-name, next, previous, up @@ -132,6 +131,13 @@ process, and is also provided as an extension to the user. @include fun-sb-ext-save-lisp-and-die.texinfo @include var-sb-ext-star-save-hooks-star.texinfo +In cases where the standard initialization files have already been loaded +into the saved core, and alternative ones should be used (or none at all), +SBCL allows customizing the initfile pathname computation. + +@include var-sb-ext-star-sysinit-pathname-function-star.texinfo +@include var-sb-ext-star-userinit-pathname-function-star.texinfo + To facilitate distribution of SBCL applications using external resources, the filesystem location of the SBCL core file being used is available from Lisp. @@ -234,7 +240,29 @@ error SBCL will invoke ldb (if present and enabled) or else exit. As a runtime option this is equivalent to @code{--noinform} @code{--disable-ldb} @code{--lose-on-corruption} @code{--end-runtime-options} @code{--script} @var{filename}. See the -description of @code{--script} as a toplevel option below. +description of @code{--script} as a toplevel option below. If there +are no other commandline arguments following @code{--script}, the +filename argument can be omitted. + + +@item --merge-core-pages +When platform support is present, provide hints to the operating system +that identical pages may be shared between processes until they are +written to. This can be useful to reduce the memory usage on systems +with multiple SBCL processes started from similar but differently-named +core files, or from compressed cores. Without platform support, do +nothing. + + +@item --no-merge-core-pages +Ensures that no sharing hint is provided to the operating system. + + +@item --default-merge-core-pages +Reverts the sharing hint policy to the default: only compressed cores +trigger hinting. Uncompressed cores are mapped directly from the core +file, which is usually enough to ensure sharing. + @item --help Print some basic information about SBCL, then exit. @@ -285,9 +313,9 @@ special syntax is intended to reduce quoting headaches when invoking SBCL from shell scripts. @item --noprint -When ordinarily the toplevel "read-eval-print loop" would be exe- -cuted, execute a "read-eval loop" instead, i.e. don't print a prompt -and don't echo results. Combined with the @code{--noinform} runtime +When ordinarily the toplevel "read-eval-print loop" would be executed, +execute a "read-eval loop" instead, i.e. don't print a prompt and +don't echo results. Combined with the @code{--noinform} runtime option, this makes it easier to write Lisp "scripts" which work cleanly in Unix pipelines. @@ -308,6 +336,16 @@ Causes the system to load the specified file instead of entering the read-eval-print-loop, and exit afterwards. If the file begins with a shebang line, it is ignored. +If there are no other command line arguments following, the filename +can be omitted: this causes the script to be loaded from standard +input instead. Shebang lines in standard input script are currently +@emph{not} ignored. + +In either case, if there is an unhandled error (e.g. end of file, or a +broken pipe) on either standard input, standard output, or standard +error, the script silently exits with code 0. This allows e.g. safely +piping output from SBCL to @code{head -n1} or similar. + @end table @node Initialization Files