首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >便携的Init脚本?

便携的Init脚本?
EN

Stack Overflow用户
提问于 2014-12-08 09:13:05
回答 2查看 294关注 0票数 3

如何编写可移植的init脚本,

  • 暴发户(Ubuntu)
  • 系统d
  • 任择条款d

其他平台(Windows、Android、OS)在我的上下文中并不重要。

EN

回答 2

Stack Overflow用户

发布于 2014-12-18 06:04:01

系统dupstart都支持sysinit风格的脚本。RHEL 6使用upstart,但大多数脚本都是普通的init.d bash脚本。RHEL 7和Fedora 19 (以及更早的版本)使用systemd,但它们很高兴地运行旧的init脚本。

您可以使用与init脚本分叉的普通旧风格守护进程。如果应用程序本身没有分叉,您可以使用类似监督d的东西为您做分叉,并直接与单独的systemd脚本集成。除了使用自己的格式外,我不知道upstart的详细信息,但是支持它(如果您不需要支持旧的/当前的linux系统)似乎只对非linux发行版是合理的。systemd目前是特定于Linux的,尽管我已经看到了将它移植到BSD的工作。

你可能对他们如何整合CUPS感兴趣。上次我检查systemd“脚本”时,使用-f选项(前台)- ExecStart=/usr/sbin/cupsd -f启动守护进程。init.d脚本不添加该标志。

简而言之,如果您想要一个在任何地方都能工作的解决方案,那么现在使用旧风格的System V init.d脚本。如果您有一些备用资源,并且如果您有足够的资源,那么可以添加systemd支持,您当然可以分别支持这三个系统(这对用户来说是最大的好处,但工作量很大)。

我会亲自创建init.d + systemd脚本,而不关心暴发户。systemd 将很快取代暴发户 (也看看这里)和init.d脚本有可能在UNIX的其余部分上仍然可用。

票数 2
EN

Stack Overflow用户

发布于 2014-12-09 10:52:35

据我所知,systemd允许运行init.d脚本,因此您可以使用upstartinit.d编写可移植的脚本。

另一件事是,它们都使用自己的语法(systemdinit.dupstart)。我看到的唯一解决方案是创建三个不同的脚本,它们调用最常见的服务接口--分叉服务应用程序的一些应用程序。这样,所有的经理都会知道如何处理你的服务。并为您的应用程序提供所有三种脚本。然后,安装程序必须选择与服务应用程序一起安装的脚本。

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

https://stackoverflow.com/questions/27354700

复制
相关文章

相似问题

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