Eric Hansen Asked: 2019-03-06 18:34:52 +0800 CST2019-03-06 18:34:52 +0800 CST 2019-03-06 18:34:52 +0800 CST 如何让 Emacs 守护进程在远程持久化 772 我目前的工作流程包括使用 PuTTY 将 SSH 连接到具有许多用户的 Linux 开发盒中。我使用 Emacs 守护进程来避免关闭 Emacs 会话时的长时间启动。然而,Emacs 守护进程在我的 SSH 会话结束时死掉了。我想知道是否有一种方法可以生成守护进程,使其在关闭 SSH 会话之后仍然存在?到目前为止,我看到的唯一解决方案是在 Tmux 中使用 Emacs,但我更喜欢 GUI Emacs。 ssh emacs 1 个回答 Voted Best Answer Rusi 2019-03-06T21:15:07+08:002019-03-06T21:15:07+08:00 充实@Danh 使用 systemd 的建议 简单的解决方案 最近的 emacs 改进了它对emacs as a service的支持。这包括 新的 fg-daemon 选项 随附的 systemd 服务文件 在您的情况下,您还需要使用lingering1 ( lingering2 ) 和设置KillUserProcesses 不那么简单 [您使用的是早期没有的 emacs fg-daemon] 在这种情况下,您必须使用type=forking. 那也需要PIDFile=。AFAIK 旧 Emacs 不提供此功能,但这里有一个hack。 允许 systemd 猜测 pid 有时会起作用,但 systemd 不建议这样做,默认情况下应将其视为已损坏。 也可以看看 Debian 错误 Arch linux从默认更改
充实@Danh 使用 systemd 的建议
简单的解决方案
最近的 emacs 改进了它对emacs as a service的支持。这包括
在您的情况下,您还需要使用lingering1 ( lingering2 ) 和设置KillUserProcesses
不那么简单
[您使用的是早期没有的 emacs
fg-daemon
]在这种情况下,您必须使用
type=forking
. 那也需要PIDFile=
。AFAIK 旧 Emacs 不提供此功能,但这里有一个hack。允许 systemd 猜测 pid 有时会起作用,但 systemd 不建议这样做,默认情况下应将其视为已损坏。
也可以看看