Phoenix Framework release stop and forever running epmd process


I’m trying out Elixir Releases for the first time to release my Phoenix application. I’ve managed to create a release, deliver it to the server and start it. Everything works as expected. However, I’m having a question about stopping that server.

My server is Ubuntu 20.04 and I used Erlang 24.3.3, Elixir 1.13.4-otp-24 and Phoenix Framework 1.6.6 to create a release.

I start the server like this (in the background - is there a better way?):

$ bin/server 1>app.log 2>&1 &

Now, when I look at the processes with ps aux I see that there are beam.smp and epmd -daemon processes running and I can access my Phoenix endpoints successfully. All good so far.

However, when I stop the application like this:

$ bin/app stop

Then beam.smp process will exit gracefully, but epmd -daemon process keeps running forever.

Since part of my deployment process is to use different directories then it is confusing to see that old process running inside unused directory.

Why does it keep running? Is that okay if it keeps running (sorry, not too familiar with epmd and its usefulness)? How should I stop the application if bin/app stop is not the way to go?

1 Like

It’s part of the default erlang run-time and is meant to start with the first started erlang app, and stay up for other erlang apps. There’s a decent thread here:

TLDR; you don’t really need to worry but it is a bit untidy (IMO) and can interfere with release updates.