Стоп Эрланг Демон
Помимо бега $ killall -9 beam.smp
Как я могу убить узел Erlang программно, когда я знаю его -sname
?
Если я не хочу, чтобы монитор сердцебиения перезапускал процесс, как я могу гарантировать, что любой ответ на поставленный выше вопрос также убьет сердцебиение?
Есть ли достойное руководство по развертыванию Erlang в качестве демона?
1 ответ
Решение
kill
а также killall
с -9
почти всегда неправильно.
Вы можете довольно легко попросить удаленный узел выйти, используя:
rpc:call(RemoteNode, init, stop, []).
Я не знаю, помешает ли это heart
от перезапуска, но я бы посоветовал, чтобы, если вы ожидаете его остановить, не запускайте его в режиме "никогда не останавливаться".
Обновление - Зед отмечает, что init:stop
правильно делает с heart
так что выше rpc:call
это лучший и единственный способ сделать это.