41.11 退出前询问确认

Emacs 退出时会终止所有子进程。对于运行程序的子进程,Emacs 会向其发送 SIGHUP 信号;连接则直接关闭。由于子进程可能正在执行重要工作,Emacs 通常会询问用户以确认是否终止这些进程。每个进程都有一个询问标志,若该标志为非 nil,则表示 Emacs 在退出并终止该进程前需要请求确认。询问标志的默认值为 t,即**需要**询问。

Function: process-query-on-exit-flag process

该函数返回 process 的询问标志。

Function: set-process-query-on-exit-flag process flag

该函数将 process 的询问标志设为 flag,并返回 flag

下面示例在 Shell 进程上使用 set-process-query-on-exit-flag 以关闭退出询问:

(set-process-query-on-exit-flag (get-process "shell") nil)
     ⇒ nil
User Option: confirm-kill-processes

若该用户选项设为 t(默认值),Emacs 在退出并终止进程前会请求确认。若设为 nil,Emacs 将直接终止进程而不询问,即忽略所有进程的询问标志。