[英]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.