What is epmd and why does it keep running?

Question

When ejabberd starts, another program is also started in the system: epmd. What is that program? Also, when I stop ejabberd, epmd is still there. Why doesn't it stop automatically?

Explanation

epmd is a small name server used by Erlang programs when establishing distributed Erlang communications. Check epmd documentation.

ejabberd needs epmd to use ejabberdctl and also when clustering ejabberd nodes. If ejabberd is stopped, and there aren't any other Erlang programs running in the system, you can safely stop epmd if you want, using this command:

epmd -kill

It is strongly recommended to block the port 4369 in the firewall for external connections. epmd listens in this port, and usually epmd is not needed from outside the machine.

At startup, epmd checks the environment variable ERL_EPMD_ADDRESS to figure out what IP addresses to listen on. You can set this variable to 127.0.0.1 to make epmd listen on the loopback interface only.

Related Links

Syndicate content