2015-09-03 2 views
-1

Образец У меня есть GIT толчок githubКак перезапустить узел erlang?

Это является примером применения из книги Programming Erlang

вы можете сделать следовать README.md

Мой вопрос, когда sellaprime запуска приложения, и я

./bin/sp restart 

Это приведет к тому, что узел опущен и не перезагрузится?

Erlang Doc говорит

Системы перезапускается внутри бегущий узел Эрланга, что означает, что эмулятор не перезапускается. Все приложения выполняются плавно, весь код выгружается, и все порты закрываются до того, как система будет загружена снова так же, как и в начале. Те же BootArgs используются снова.

Что означает «эмулятор не перезапущен»?

Если я хочу перезапустить узел, что это правильный способ сделать?

Кстати, есть ли API, чтобы узнать текущую версию выпуска, как

application:which_applications() 

ответ

0

Похоже, ваш sb сценарий инициализации, который использует nodetool скрипт должен вызвать init:restart() для вас. Если это будет сделано, но ваш узел будет закрыт, проверьте свои журналы на наличие возможных ошибок (возможно, одно из ваших приложений не может перезапустить?).

Использование init:restart() - способ сделать это, хотя. Вот пример: запустить узел Erlang с именем (в данном случае, test):

$ erl -sname test 
Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] 

Eshell V7.0 (abort with ^G) 
([email protected])1> hello. 
hello 
([email protected])2> 

Временный запустить другой узел, который будет сделать вызов RPC к первому узлу:

$ erl -sname other -noinput -noshell -eval "rpc:call('[email protected]', init, restart, [])" -s init stop 
$ 

наблюдателя оригинальный узел перезапуска:

([email protected])2> Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] 

Eshell V7.0 (abort with ^G) 
([email protected])1> 
+0

Я получаю журнал { "INIT завершающего в do_boot", { 'не может загрузить', asn1rt_nif, get_files}}. Как это произошло? И почему asn1rt будет выпущен, на самом деле я не настроил его в файле reltool.config – mingchaoyan

+0

Возможно, от него зависит одно из ваших приложений? –

Смежные вопросы