Выйдите из сессии SSH в Erlang VM, не останавливая VM или оставив устаревшие процессы

У меня есть приложение Erlang, работающее как демон, настроенный как сервер SSH. Я могу соединиться с ним с клиентом SSH, и я получаю стандартный Erlang REPL.

Если я 'q ()'. Я закрыл Erlang VM, не соединение. Если я закрываю соединение (' ~ '. для OpenSSH закройте окно в PuTTY), некоторые процессы остаются под sshd_sup/ssh_system_xx_sup деревом. Они, кажется, устаревшие процессы оболочки.

Я не вижу экспортируемой функции в модуле оболочки, который позволил бы мне закрыть оболочку (и поэтому соединение SSH), не влияя на весь VM.

Как я должен выходить из сессии SSH для не отъезда устаревших процессов в VM?

6
задан Garret Smith 29 March 2010 в 16:40
поделиться

1 ответ

'exit().' в SSH-клиенте отключает соединение без остановки ВМ.

Я нигде не смог найти документального подтверждения этому, но, похоже, это делает почти то, что я хочу.

Вместо того, чтобы оставлять 4 неактивных процесса на каждое прерванное соединение, как при убийстве клиента, 'exit().' оставляет 2 неактивных процесса.

Возможно, теперь это относится к области модуля 'ssh' и больше не относится к области модуля 'shell'.

4
ответ дан 17 December 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: