在不停止VM或离开过时进程的情况下,将SSH会话注销到Erlang VM中

Gar*_*ith 6 erlang

我有一个作为守护进程运行的Erlang应用程序,配置为SSH服务器.我可以使用SSH客户端连接到它,我得到标准的Erlang REPL.

如果我'q().' 我关闭了Erlang VM,而不是连接.如果我关闭连接(对于OpenSSH,'〜.',关闭PuTTY中的窗口),某些进程仍保留在sshd_sup/ssh_system_xx_sup树下.这些似乎是陈旧的shell进程.

我没有看到shell模块中的任何导出函数可以让我关闭shell(以及SSH连接)而不会影响整个VM.

我应该如何退出SSH会话以避免在虚拟机中留下过时的进程?

Gar*_*ith 4

'出口()。' SSH 客户端中的 关闭连接而不停止 VM。

我在任何地方都找不到这个记录,但它似乎几乎达到了我想要的效果。

'exit()' 不是像终止客户端那样为每个终止的连接留下 4 个过时的进程。留下 2 个陈旧的进程。

现在这可能属于“ssh”模块的范围,而不再属于“shell”模块的范围。