See this for a starting point. If my understanding is correct mix
essentially starts the processes in it’s own OS process and after it finishes the starting script it exits - taking the BEAM with it. In a development environment you are meant to use iex -s mix
to run the application (vs. running a script).