首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在引导时启动Erlang服务(使用Relx创建版本)

在引导时启动Erlang服务(使用Relx创建版本)
EN

Stack Overflow用户
提问于 2015-03-14 21:00:04
回答 2查看 612关注 0票数 1

我有一个用Erlang编写的服务器,用Rebar编译,我用Relx发布了一个版本。很好地开始了

代码语言:javascript
复制
/root/rel/share3/bin/share3 start

下一步是在服务器启动时启动。

我尝试了不同的方法,最后一种方法是使用/etc/init.d/框架,其中我更改了以下内容

代码语言:javascript
复制
NAME=share3
DAEMON=/root/rel/share3/bin/share3
DAEMON_ARGS="$1"

在那之后,我运行update-rc.d,但是我没有让它工作。(Ubuntu 14.04)

该服务将一直运行到机器重新启动,我需要登录并重新启动它。

对于Windows,它真的很优雅,因为它可以创建Windows服务。

EN

回答 2

Stack Overflow用户

发布于 2015-03-17 00:48:41

Ubuntu使用upstart作为初始化系统,所以你可以尝试一下:

代码语言:javascript
复制
description "Start my awesome service"
start on runlevel [2345]
stop on runlevel [!2345]

respawn
exec /root/rel/share3/bin/share3

您必须将此脚本放在扩展名为'.conf‘的/etc/init/目录中,如'/etc/init/share3.coinf’。要启动它,请调用sudo start share3

票数 0
EN

Stack Overflow用户

发布于 2015-04-28 23:51:54

最后,我解决了这个问题!

我已经告诉relx将结果放在/home/mattias/rel中。relx中的脚本是/home/mattias/rel/share3/bin/share3

替换行

代码语言:javascript
复制
SCRIPT_DIR="$(dirname "$0")"

by (您需要修复路径/home/mattias/rel)

代码语言:javascript
复制
HOME=/home/mattias
export HOME
SCRIPT_DIR="/home/mattias/rel/share3/bin"

使用以下命令将文件复制到/etc/init.d/share3

代码语言:javascript
复制
sudo cp ~/rel/share3/bin/share3 /etc/init.d/

使用以下命令测试它是否正常工作

代码语言:javascript
复制
/etc/init.d/share3 start

代码语言:javascript
复制
/etc/init.d/share3 stop

要使其在引导时启动,请安装sysv-rc-conf

代码语言:javascript
复制
sudo apt-get install sysv-rc-conf

启用启动时启动,使用

代码语言:javascript
复制
sudo sysv-rc-conf share3 on

和禁用

代码语言:javascript
复制
sudo sysv-rc-conf share3 off

我们欢迎其他的选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29049211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档