首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Daemon-kit项目设置init.d rc脚本?

如何为Daemon-kit项目设置init.d rc脚本?
EN

Stack Overflow用户
提问于 2011-03-04 11:27:51
回答 2查看 961关注 0票数 3

我正在使用Ruby Daemon-kit来设置一个服务,该服务为我的Rails应用程序执行各种后台操作。

当我在命令行中调用时,它工作得很好:

代码语言:javascript
复制
./bin/bgservice

如何为它创建守护进程initd启动脚本,以便它在重新启动时自动启动?

EN

回答 2

Stack Overflow用户

发布于 2011-03-04 12:07:21

有几种方法:

  1. 您可以编写/etc/init.d/脚本,这些脚本可以放在/etc/rc?.d/目录中(或者放在目标发行版上的任何位置)。有关此机制的一些详细信息可以在Debian policy guidelinesopenSUSE initscript tutorial中找到。在initscripts中有许多令人讨厌的发行版特性,所以不要觉得编写一个简单的特性,并要求发行版为他们的环境定制“更好”的特性。(例如,任何从Debian派生的发行版都将提供非常有用的start-stop-daemon(8)帮助程序,但其他可以为支持upstart的发行版(我认为是Ubuntu、Google ChromeOS、Fedora、..更多?)。upstart文档仍然相当薄弱,但在Ubuntu上的/etc/init/中有some details和大量示例,可能在其他使用upstart的发行版中也是如此。在所有发行版中纠正依赖项可能是一些工作,但是与initscripts.
  2. You在仍然支持标准SysV-init inittab(5)文件的发行版上向/etc/inittab添加行相比,编写和维护upstart作业规范看起来要简单得多。只有当您的程序不执行通常的守护进程fork(2)/setsid(2)/fork(2)咒语时,这才是有用的,因为init使用从fork(2)获得的pid来确定您的程序是否需要restarted.
  3. Modern Vixie cron(8)支持crontab(5)文件中的@reboot说明符。这既可以由系统crontab使用,也可以由用户crontab使用,如果您只想以常规登录帐户运行该程序,这可能会更好。
票数 2
EN

Stack Overflow用户

发布于 2011-03-15 22:01:14

作为daemon-kit的作者,我避免编写任何init样式的脚本,因为要处理各种发行版,它们是从旧的init-V样式迁移到较新的upstart/insserv,这给自己省去了一个噩梦。

我推荐这样做的方法是:使用神的配置生成器,并确保在启动时(通过runit或其他方式)启动神,并且神最初启动守护进程并使其保持运行。

在最好的情况下,我将扩展daemon-kit以能够生成用于引导的runit脚本……

HTH。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5189319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档