我有用 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和服務