【发布时间】:2011-05-24 16:57:25
【问题描述】:
我正在尝试在 ubuntu 上构建一个脚本来启动我的一些 Erlang 代码:
脚本类似于:
#!/bin/sh
EBIN=$HOME/path_to_beams
ERL=/usr/local/bin/erl
export HEART_COMMAND="$EBIN/starting_script start"
case $1 in
start)
$ERL -sname mynode -pa $EBIN \
-heart -detached -s my_module start_link
;;
*)
echo "Usage: $0 {start|stop|debug}"
exit 1
esac
exit 0
但我遇到了一些问题。
首先,代码只有在脚本与梁在同一目录下才能执行,这对我来说似乎很奇怪,我仔细检查了路径,为什么 -pa 标志不起作用?
其次,脚本(没有 -pa)工作正常,但如果我尝试启动它的主管(-s my_module_sup start_link)而不是主模块(gen_server)它不起作用......这很奇怪,因为如果我从普通 shell 启动主管,一切正常。
第三,-heart 标志,应该在失败的情况下重新启动脚本,但是如果我用正常的 Unix kill 杀死进程,则不会重新启动进程。
谁能给我一些提示?
提前致谢,
pdn
【问题讨论】:
标签: erlang