Erlang logo
User's Guide
Reference Manual
Release Notes

Erlang Run-Time System Application (ERTS)
Reference Manual
Version 5.7.4

Expand All
Contract All

Table of Contents





Erlang Port Mapper Daemon


This daemon acts as a name server on all hosts involved in distributed Erlang computations. When an Erlang node starts, the node has a name and it obtains an address from the host OS kernel. The name and the address are sent to the epmd daemon running on the local host. In a TCP/IP environment, the address consists of the IP address and a port number. The name of the node is an atom on the form of Name@Node. The job of the epmd daemon is to keep track of which node name listens on which address. Hence, epmd map symbolic node names to machine addresses.

The daemon is started automatically by the Erlang start-up script.

The program epmd can also be used for a variety of other purposes, for example checking the DNS (Domain Name System) configuration of a host.


Starts a name server as a daemon. If it has no argument, the epmd runs as a normal program with the controlling terminal of the shell in which it is started. Normally, it should run as a daemon.

Requests the names of the local Erlang nodes epmd has registered.

Kills the epmd process.

Write short info about the usage including some debugging options not listed here.

Environment variables


This environment variable can contain the port number epmd will use. The default port will work fine in most cases. A different port can be specified to allow several instances of epmd, representing independent clusters of nodes, to co-exist on the same host. All nodes in a cluster must use the same epmd port number.


On some operating systems syslog will be used for error reporting when epmd runs as an daemon. To enable the error logging you have to edit /etc/syslog.conf file and add an entry


where <TABs> are at least one real tab character. Spaces will silently be ignored.