Is there a way to stop Erlang servers from automat

2019-02-22 03:59发布

问题:

Erlang servers will automatically spawn epmd (the Erlang port mapper daemon) if it isn't already running. I would prefer to manage epmd using systemd as a separate service. This is so that if I have multiple Erlang servers running on one host (e.g. RabbitMQ and ejabberd), epmd won't dissapear if the server that automatically spawned epmd gets shut down. systemd will clean up any stray processes when a service gets shut down so an automatically spawned epmd won't survive.

I can mostly handle this by making sure epmd is running as a separate service before starting any Erlang servers but I want to make extra sure that epmd is running only as a separate service.

回答1:

You can always just start epmd at boot time like any other daemon.

That said, epmd doesn't actually exit when you exit the erl instance that auto-started it. You have to manually kill it as far as I know.

At least on Linux and OS X, that seems to be true.