簡體   English   中英

在啟動時啟動Erlang服務(使用Relx創建發行版)

[英]Starting Erlang service at boot time (using Relx for creating release)

我有一台用Erlang編寫的服務器,用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服務。

Ubuntu使用upstart作為初始化系統,因此您可以嘗試執行以下操作:

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

最后,我解決了!

我已經告訴relx將結果放在/ home / mattias / rel中。 relx的腳本是/ home / mattias / rel / share3 / bin / share3

替換行

SCRIPT_DIR="$(dirname "$0")"

通過(您需要修復路徑/ home / mattias / rel)

HOME=/home/mattias
export HOME
SCRIPT_DIR="/home/mattias/rel/share3/bin"

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

sudo 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

歡迎其他選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM