Go to the first, previous, next, last section, table of contents.


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 section 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 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.


Go to the first, previous, next, last section, table of contents.