Я сделал приложение Erlang, которое должно запускаться при загрузке операционной системы.Загрузочный скрипт хранится в /etc/init.d.Это выглядит так:
#!/bin/sh
cd $ROOT/lib/di
INET_ADDR=$(ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
NODE_NAME=$(echo di@$INET_ADDR)
erl -pa $PWD/ebin -pa $PWD/deps/*/ebin -name $NODE_NAME -boot di $1 -setcookie agfeo
Сценарий пытается определить IP-адрес машины, чтобы дать узлу уникальное имя.Когда машина загружается, скрипт выполняется автоматически.На терминале я получаю следующий вывод:
(no error logger present) error: "Error in process <0.1.0> with exit value:
{badarg,[{erlang,list_to_atom,[[<<2 bytes>>,<<5 bytes>>,46,98,111,111,116]]},
{init,get_boot,2},{init,do_boot,3}]}"
{"init terminating in do_boot",{badarg,[{erlang,list_to_atom,[[<<2 bytes>>,<<5 bytes>>,46,98,111,111,116]]},
{init,get_boot,2},{init,do_boot,3}]}}
init terminating in do_boot ()
Это то, что печатает оболочка, когда скрипт загружается автоматически.Когда я вызываю скрипт вручную, мое приложение запускается нормально, без каких-либо проблем.
Может кто-нибудь объяснить, что означает сообщение об ошибке выше?