Killing SXEmacs means ending the execution of the SXEmacs process. The
parent process normally resumes control. The low-level primitive for
killing SXEmacs is kill-emacs.
This function exits the SXEmacs process and kills it.
If exit-data is an integer, then it is used as the exit status of the SXEmacs process. This is useful primarily in batch operation; see 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 SXEmacs process, aside from files that have
been saved, is lost when the SXEmacs is killed. Because killing SXEmacs
inadvertently can lose a lot of work, SXEmacs 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.
After asking the standard questions,
save-buffers-kill-emacscalls the functions in the listkill-buffer-query-functions, in order of appearance, with no arguments. These functions can ask for additional confirmation from the user. If any of them returns non-nil, SXEmacs is not killed.