https://github.com/ShoreTel-Inc/erld

я есть программа Erlang, которая работает в оболочке Erlang, и я хочу ее контролировать.

Это то, что я хочу:

Когда машина запускается, оболочка Erlang должна запускаться вместе с ней, а также программа, которая запускается в оболочке.Если по какой-либо причине происходит сбой оболочки Erlang, она должна быть перезапущена.Вы должны быть в состоянии вручную запустить / остановить / перезапустить оболочку Erlang.

Пример:

/etc/init.d/foobar start
/etc/init.d/foobar stop
/etc/init.d/foobar restart

Я еще не начал с цели «перезагрузить сам, если сбой», застрял с легкой вещью, или это легко?

Что я сделал, это:

Взял код скелета из /etc/init.d/skeleton и заменил PATH, DESC, NAME и т. Д. И т. Д. Это работает, я могу сделать:

/etc/init.d/foobar start

Тем не менее, я не могу это остановить ... Дело в том, что я запускаю оболочку Erlang с помощью "erl", который представляет собой скрипт, который делает некоторые причудливые вещи, которые я не понимаю. Он создает очень длинное и сложное имя процесса. Это не просто "эрл", это как:

/usr/lib/erlang/erts-5.7.4/bin/beam.smp - -root / usr / lib / erlang -progname erl - -home / home / xxx - .... и некоторые другие.

Есть лучший способ сделать это?

ОС: Ubuntu 11.04

Ответы на вопрос(3)

Ваш ответ на вопрос