Asegurate de que epmd haya comenzado

Tengo una prueba de eunit que genera un nombre de nodo único y comienza la distribución:

{A,B,C} = now(),
Nodename = list_to_atom(lists:flatten(io_lib:format(
    "test-~b-~b-~b@localhost", [A, B, C]))),
{ok, _} = net_kernel:start([Nodename, shortnames]),

Esto funciona bien siempre y cuando un nodo Erlang distribuido se haya estado ejecutando en la máquina en algún momento anterior y, por lo tanto, epmd aún se esté ejecutando, pero en el servidor de compilación no puedo asumir que ese sea el caso.

Resolví el problema agregando esto a mi prueba:

_ = os:cmd("epmd -daemon"),

pero se siente como un hack. ¿Hay alguna manera mejor / más agradable de asegurarse de que epmd se inicie antes de ejecutarse?net_kernel:start?

Respuestas a la pregunta(1)

Su respuesta a la pregunta