Как увидеть консоль приложения Erlang, которая работает в фоновом режиме? - PullRequest
2 голосов
/ 16 февраля 2012

Я использую rebar для сборки релиза приложения erlang, когда я использую опцию запуска, чтобы запустить приложение, оно работает нормально в фоновом режиме и возвращает мне командную строку.Я не хочу видеть весь фоновый вывод, поэтому я не запустил, используя опцию консоли.Но если мне нужно какое-то время, что происходит в фоновом режиме, чтобы проверить консоль из-за любой ошибки, как мне получить консоль этого запущенного приложения?

Ответы [ 3 ]

2 голосов
/ 16 февраля 2012

Я предполагаю, что вы сделали релиз, используя Rebar, и что вы запустили узел с сгенерированным стартовым скриптом.

Таким образом, лучший способ - использовать опцию запуска 'attach':

./bin/mynode attach

Он будет подключаться к оболочке через каналы, поэтому вы будете находиться в фактическом работающем узле, поэтому будьте осторожны с использованием Ctrl-c. (добавьте опцию "+ Bi" в ваш файл vm.args, чтобы ограничить это ..)

0 голосов
/ 24 февраля 2015

Вы можете подключить удаленную оболочку к узлу, если она настроена для распространения.Используйте следующую команду:

erl -sname rem -remsh node@host -setcookie the_cookie -hidden
0 голосов
/ 16 февраля 2012

Ctrl-G для входа в режим JCL, затем «j» в списке, затем «c», за которым следует номер для подключения к выбранной работе. См. eshell docs , в частности, раздел JCL.

О, или если под «командной строкой» вы подразумеваете оболочку ОС, а не оболочку Erlang, IIRC вам нужно запустить узел Erlang, который соответственно -name'd или -sname'd (в зависимости от того, какой узел вы хотите подключиться к использованию), затем подключиться к этому узлу ('r' в режиме JCL), затем подключиться к заданию.

...