Приложение Nodejs не закрывается, когда сессия SSH закрыта с другого хоста - PullRequest
0 голосов
/ 19 ноября 2018

Это немного странно, но, надеюсь, я смогу это объяснить. У меня есть пакет, который использует SSH2 (https://github.com/mscdex/ssh2-streams), чтобы сделать сеанс оболочки SSH для запуска команд на хосте. (https://github.com/cmp-202/persistent-shell)

Обычное использование - закрытие соединения с помощью stream.close (). В этом случае поток сеанса оболочки закрывается, а затем соединение SSH закрывается, и приложение завершает работу, возвращаясь в командную строку терминала.

Если я запускаю команду 'exit', чтобы сеанс выходил из хоста, отладка указывает, что поток закрывается и соединение закрывается. Проблема в том, что приложение не закрывается и не возвращается в командную строку терминала.

:exit command run
: exiting
: data event    
exit
logout
: Stream.finish
: Stream.close
: Connection.close
Closed
[sits here waiting]

Я должен использовать ctrl-c, чтобы завершить его. Я также пытался закрыть поток со стороны приложения, но это не имело значения, или я получил ошибку, которая не удивляет меня, учитывая, что она, возможно, уже закрылась.

Вопрос в том, как запустить команду 'exit' и как закрыть приложение, как это происходит при использовании метода stream.close (). Немного озадачен тем, где его оставляют в ожидании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...