2013-04-30 26 views
7

Mam aplikację erlang skompilowaną za pomocą zbrojenia.Uruchom aplikację erlang z wiersza poleceń

Normalnie zacznę ją tak:

application:start(myapp). 

od wewnątrz skorupy Erl.

Czy ktoś mógłby mi powiedzieć, jak uruchomić go tak, jak normalny program wiersza poleceń?

+2

niektóre z odpowiedzi [to pytanie] (http://stackoverflow.com/q/ 7032665/113848) może pomóc. – legoscia

Odpowiedz

14

można zrobić:

erl -pa ebin -eval "application:start(myapp)" 

Jeśli chcesz go uruchomić w tle, dodać -noshell -detached

+0

W moich kodach mam "application: get_env()" w funkcji start i otrzymałem błąd {badmatch, undefined} zwrócony przy użyciu -val "application: start (myapp)". Czy jest jakaś inna ścieżka biblioteki, którą powinienem zawrzeć, jak "-pa"? – VincentHuang

+0

Och, odpowiadam na moje własne pytanie powyżej. Jeśli chcesz uzyskać jakąś zmienną środowiskową zdefiniowaną w pliku "etc/app.confg", nie zapomnij dołączyć jej za pomocą polecenia "-config etc/app.config". – VincentHuang

5

Utwórz skrypt, coś takiego:

exec erl -pa ebin/ deps/*/ebin -s myapp 

Inne opcje, które musisz zobaczyć http://www.erlang.org/doc/man/erl.html.

+0

{"init kończący się w do_boot", {undef, [{cc, start, [], []}, {init, start_it, 1, []}, {init, start_em, 1, []}]}} – LtWorf

+1

dla 'erl -s myapp' do pracy musisz napisać funkcję w swoim myapp.erl jako' start() -> application: start (myapp). -s opcja to wywołanie MFA. Domyślnie wywołuje start bez podania parametrów, jeśli podano tylko nazwę modułu. – Vinod

Powiązane problemy