用于ruby进程的init.d脚本生成器?

时间:2012-11-06 13:49:14

标签: ruby ubuntu foreman init.d

我有一些ruby进程,为了开发,我一直在使用foreman来管理进程,现在正在生产中我想导出进程并在/etc/init.d目录中运行它。

是否有任何工具可以通过创建脚本和相关的PID到/ var / run来帮助解决这个问题?我尝试使用foreman导出功能来执行此操作,但它无法做到这一点,因为它可以为inittab或upstart执行某些操作,但不能执行init.d.

任何帮助都将受到高度赞赏

2 个答案:

答案 0 :(得分:1)

mm似乎没有工具可以创建,工头可以导出inittabs,upstart但不是init.d,唯一的方法是修改文件:

/etc/init.d/skeleton 

您需要稍微修改它,然后:

chmod +x /etc/init.d/process_name 
sudo update-rc.d process_name defaults
sudo /etc/init.d/process_name (start| stop| reload ) 

完成。 :)

答案 1 :(得分:0)

另一个答案可能是使用https://github.com/ghazel/daemons gem。

require 'daemons'
require 'process'

Daemons.run('process.rb')

脚本完成后,只需从命令行调用它:

ruby process.rb run|start|stop|restart

此配置将在“/ var / run”下生成“process.pid”文件,您可以使用monit通过使用此文件来监视该进程。