2

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

是否有任何工具可以通过将脚本和相关的 PID 创建到 /var/run 来提供帮助?我尝试使用工头导出功能来执行此操作,但它不起作用,因为它可以为 inittab 或 upstart 做一些事情,但不能为 init.d 做一些事情。

任何帮助将不胜感激

4

2 回答 2

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 ) 

完毕 。:)

于 2012-11-07T14:52:00.707 回答
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 通过使用此文件来监视进程。

于 2012-11-07T15:11:36.287 回答