具有自動啟動功能的守護程式

具有自動啟動功能的守護程式

我有用 Ruby 寫的簡單腳本。

  • 我想作為後台任務(守護程序或服務)運行。
  • 更重要的是想要控制它,以便我可以啟動和停止它。
  • 如果我的VPS重啟時能自動啟動進程就完美了。

有什麼辦法可以做到這一點嗎?

答案1

實際上我找到了完美的解決方案。它要求upstart比標準服務容易得多,runit並且systemd

這是更詳細的說明: http://blog.arkency.com/2014/06/create-run-and-manage-your-background-processes-with-upstart/

它是這樣的:

/etc/init/my_program_upstart_script.conf

start on my_event
respawn
exec /home/my_user/my_program/my_program_executable

是的,就是這麼簡單!

只需使用 運行程式即可sudo initctl emit my_event

答案2

一種簡單的方法是建立啟動/停止應用程式的 bash 腳本。以/etc/init.d/skeleton為例。

安裝你的腳本:

    sudo copy yourApplicationCtl /etc/init.d
    sudo chmod +x /etc/init.d/yourApplicationCtl

為了在伺服器啟動時啟動應用程式並在關機時停止:

    sudo update-rc.d yourApplicationCtl defaults

如果您想手動啟動/停止您的應用程式:

    sudo service yourApplicationCtl start/stop

有用的連結是:Ubuntu 啟動指南,手冊頁升級-rc.d服務

相關內容