我有一个用Relang编写的服务器,用Rebar编译,我用Relx发布了一个版本。
很好地开始/root/rel/share3/bin/share3 start
下一步是在服务器启动时启动。
我尝试了不同的方法,最后一个是使用/etc/init.d/skeleton我更改了以下内容
NAME=share3
DAEMON=/root/rel/share3/bin/share3
DAEMON_ARGS="$1"
之后,我运行update-rc.d,但我还没有完成它的工作。 (Ubuntu 14.04)
服务一直运行直到机器重新启动,我需要登录并重新启动它。
对于Windows,它非常优雅,因为它可以创建Windows服务。
答案 0 :(得分:0)
Ubuntu使用upstart作为初始系统,所以你可以尝试类似的东西:
description "Start my awesome service"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec /root/rel/share3/bin/share3
您必须将此脚本放在/etc/init/
目录中,并带有'.conf'扩展名,例如'/etc/init/share3.coinf'。要开始它,请调用sudo start share3
。
答案 1 :(得分:0)
最后,我解决了!
我告诉relx将结果放在/ home / mattias / rel。 relx的脚本是/ home / mattias / rel / share3 / bin / share3
替换行
SCRIPT_DIR="$(dirname "$0")"
by(你需要修改路径/ home / mattias / rel)
HOME=/home/mattias
export HOME
SCRIPT_DIR="/home/mattias/rel/share3/bin"
使用
将文件复制到/etc/init.d/share3sudo cp ~/rel/share3/bin/share3 /etc/init.d/
使用
测试它是否有效/etc/init.d/share3 start
和
/etc/init.d/share3 stop
为了让它在启动时启动,请安装sysv-rc-conf
sudo apt-get install sysv-rc-conf
使用
启动启动sudo sysv-rc-conf share3 on
并禁用
sudo sysv-rc-conf share3 off
欢迎替代方案。