41.11 Запрос перед выходом

Когда Emacs завершает работу, он прекращает работу всех своих подпроцессов. Для подпроцессов, запускающих программу, он отправляет им сигнал SIGHUP; соединения просто закрываются. Поскольку подпроцессы могут выполнять важную работу, Emacs обычно запрашивает у пользователя подтверждение того, что можно их завершить. Каждый процесс имеет флаг запроса, который, если он не nil, указывает, что Emacs должен запросить подтверждение перед выходом и, следовательно, завершить этот процесс. Значение по умолчанию для флага запроса — t, что означает выполнить запрос.

Функция: process-query-on-exit-flag process

Эта функция возвращает флаг запроса для process.

Функция: set-process-query-on-exit-flag process flag

Эта функция устанавливает флаг запроса для process в flag. Она возвращает flag.

Вот пример использования set-process-query-on-exit-flag для процесса оболочки, чтобы избежать запроса:

(set-process-query-on-exit-flag (get-process "shell") nil)
     ⇒ nil
Пользовательский вариант: confirm-kill-processes

Если этот пользовательский вариант установлен в t (значение по умолчанию), то Emacs запрашивает подтверждение перед завершением процессов при выходе. Если он nil, Emacs завершает процессы без подтверждения, то есть флаг запроса для всех процессов игнорируется.