【问题标题】:Why is it important to shutdown emacs daemon gracefully?为什么优雅地关闭 emacs 守护进程很重要?
【发布时间】:2020-04-23 03:57:46
【问题描述】:

herehere,他们讨论了如何优雅地关闭 emacs 守护进程。它为什么如此重要?答案之一建议使用 pkill -TERM emacs,它可以完成这项工作,但显然不够优雅。没有优雅地关闭 emacs 守护进程有什么问题?如果我不这样做会发生什么?

谢谢

【问题讨论】:

  • 我认为保持更新的最近打开的文件列表(或更新的 emacs 历史文件)可能很重要

标签: ubuntu emacs daemon


【解决方案1】:

其中一个答案建议pkill -TERM emacs,它可以完成这项工作,但显然不够优雅。

尽管我建议使用进程 ID 而不是 pkill,但 应该 是优雅的关闭。手册说:

‘kill-emacs’函数通常通过高层调用 命令'C-x C-c'('save-buffers-kill-terminal')。 *笔记 (emacs)退出::.如果 Emacs 收到一个 “SIGTERM”或“SIGHUP”操作系统信号(例如,当 控制终端已断开连接),或者如果它收到“SIGINT” 在批处理模式下运行时发出信号 (*note Batch Mode::)。

此行为是在 Emacs 24.1 中引入的(在您链接到的问答之后)。

** 退出更改

*** 如果 Emacs 收到 SIGTERM 或 SIGHUP,它现在会调用 `kill-emacs', 或者如果它在批处理模式下接收到 SIGINT 信号。

*** `kill-emacs-hook' 现在也以批处理模式运行。 添加到“kill-emacs-hook”的第三方代码应该检查它们是否 在批处理模式下做正确的事。


至于你为什么不想要非正常关机,这并不是一个真正的 Emacs 问题。杀死进程而不让它们有任何清理的机会应该始终是最后的手段。不难想象,如果一个进程在写文件的过程中被杀死会导致什么问题。

【讨论】:

    猜你喜欢
    • 2010-11-13
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 2013-05-04
    • 1970-01-01
    相关资源
    最近更新 更多