[erlang-questions] What's the proper/right way to run erlang in the background?

Ivan uemlianin <>
Mon Oct 21 15:58:19 CEST 2013


... having said that, I do have a little erlang program I run as an escript in a tmux session.

Ivan

--
festina lente


On 21 Oct 2013, at 13:09, Michael Scofield <> wrote:

> Hi all! I'm new to erlang for a few month. 
> 
> Recently I've developed a small pure erlang program, and it runs well in the shell. Now I want to run it in the background, as a daemon service process in the os (mine is Ubuntu 12.04 64bit with R16B). So I googled "run erlang without shell", and google gave me some advice:
> 
> 1. Using escript. -This is what erlang official faq suggested ( http://www.erlang.org/faq/how_do_i.html). 
> 2. erl -detached -s Module Function Args
> 
> I tried both. As to #1, my escript goes to
> 
> #!/usr/bin/env escript
> main(_) ->
>   my_supervisor:start_link(arg1, arg2).
> 
> I ran it using "nohup ./my-escript &", and it didn't run my code. =(
> 
> So I went to #2. I was acknowledged that "-s" can only pass 0 or 1 argument, so I wrapped my supervisor using
> 
> -module(run).
> -export([start/0]).
> 
> start() ->
>   my_supervisor:start_link(arg1, arg2).
> 
> and ran my code as "erl -detached -s run start". But this was also a dead end. 
> 
> I guessed it's because the run:start/0 just returned and finished the shell(Is it?), so I added a line to the run:start/0:
> 
> -module(run).
> -export([start/0]).
> 
> start() ->
>   my_supervisor:start_link(arg1, arg2),
>   receive after infinity -> stop end.
> 
> And executed "erl -detached -s run start", and everything goes fine! my_supervisor started to work without the shell!
> 
> Though the problem "solved", I'm very very confused.
> 1. Why the "magic line" solved my problem?
> 2. What exactly is the proper or right way to run an erlang application in the background as the command "nohup ... &" does?
> 
> Thanks in advance!
> 
> Michael
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20131021/b96d70f1/attachment.html>


More information about the erlang-questions mailing list