Killing Emacs
-------------
Killing Emacs means ending the execution of the Emacs process. The
parent process normally resumes control. The low-level primitive for
killing Emacs is `kill-emacs'.
- Function: kill-emacs &optional exit-data
This function exits the Emacs process and kills it.
If EXIT-DATA is an integer, then it is used as the exit status of
the Emacs process. (This is useful primarily in batch operation;
see Note:Batch Mode.)
If EXIT-DATA is a string, its contents are stuffed into the
terminal input buffer so that the shell (or whatever program next
reads input) can read them.
All the information in the Emacs process, aside from files that have
been saved, is lost when the Emacs process is killed. Because killing
Emacs inadvertently can lose a lot of work, Emacs queries for
confirmation before actually terminating if you have buffers that need
saving or subprocesses that are running. This is done in the function
`save-buffers-kill-emacs'.
- Variable: kill-emacs-query-functions
After asking the standard questions, `save-buffers-kill-emacs'
calls the functions in the list `kill-emacs-query-functions', in
order of appearance, with no arguments. These functions can ask
for additional confirmation from the user. If any of them returns
`nil', Emacs is not killed.
- Variable: kill-emacs-hook
This variable is a normal hook; once `save-buffers-kill-emacs' is
finished with all file saving and confirmation, it runs the
functions in this hook.