<div dir="ltr">Thank you Nuku. Yes it is a solution pass args to a application, but why not pass args directly by application:start(mycode1, Arg1)? Why otp design a api this way? And application behaviour's callback function start, it needs Args. It is seems like that something forgotten or something wrong. In application.erl or somewhere, it generate a atom 'normal' and blank list [], then passes them to mycode1:start(Type, Args). Why?<br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-07-13 18:39 GMT+08:00 Nuku Ameyibor <span dir="ltr"><<a href="mailto:nayibor@gmail.com" target="_blank">nayibor@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>u can add environmental variables for your application in  your .app file  .<br></div>there is a tuple with a key env which u can use to add environmental variables to your application which you can then access from your application<br></div>eg .<br>{application, test,<br> [{vsn, "1.0.0"},<br>  {description, "testing"},<br>  {modules, [test, test_sup,test_start]},<br>  {applications, [stdlib, kernel, crypto]},<br>  {registered, [test,test_sup]},<br>  {mod, {test, []}},<br>  {env, <br>[<br>{env1,b},<br>{env2,a},<br>{env3,c}<br>]<br>}<br> ]}.<br><br></div>you can access them like so <br>{ok, Env} = application:get_env(env1), etc..<br><br></div>there is also a set_env/3 ,set_env/4 which can be used to change environmental variables during run-time <br><div><div><div><div><br><div><div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Sun, Jul 12, 2015 at 1:19 PM, Lihe Wang <span dir="ltr"><<a href="mailto:wanglihe.programmer@gmail.com" target="_blank">wanglihe.programmer@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="h5"><div dir="ltr"><div><div><div>Can any one give the explain about OTP? The application behaviour's call back "start" need args, but when I want start my code as a real application, I only can write "applicaion:start(mycode)", and can not pass any args to mycode. Why otp design like this? When I want start a application as background service from escript, for example:<br><br></div>main([Arg1, Arg2, Arg3]) -><br></div>    application:start(mycode1), %%with Arg1<br>    application:start(mycode2),  %%with Arg2<br></div><div>    workcode(Arg3). %%workcode (escript) will run as a daemon, and need service supplied by mycode1 and mycode2.<br><br></div><div>What is the right way to write these code?<br></div>    <br><div><div>     <br></div></div></div>
<br></div></div>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div></div></div></div></div></div></div></div>
</blockquote></div><br></div>