gpt4 book ai didi

portability - 可移植初始化脚本?

转载 作者:行者123 更新时间:2023-12-04 02:31:58 26 4
gpt4 key购买 nike

如何编写可移植的初始化脚本

  • Upstart (Ubuntu)
  • 系统
  • 可选的init.d

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

最佳答案

两者都是systemdupstart 支持 sysinit 风格的脚本。 RHEL 6 使用 upstart 但大多数脚本都是普通的 init.d bash 脚本。 RHEL 7 和 Fedora 19(及更早版本)使用 systemd,但它们很乐意运行旧的 init 脚本。

您可以使用普通的旧式守护进程,它会与初始化脚本 fork 。如果应用程序不会自行 fork ,您可以使用类似 supervisord 的东西为您进行 fork 并直接与单独的 systemd 脚本集成。我不知道关于 upstart 的细节,除了它使用它自己的格式,但支持它(如果你不必支持旧的/当前的 linux 系统)似乎只对非 linux 发行版是合理的。 systemd 目前是特定于 Linux 的,尽管我已经看到将其移植到 BSD 的工作。

您可能对他们如何集成 CUPS 感兴趣。上次我检查 systemd “脚本”使用 -f 选项(前景)启动守护进程 - ExecStart=/usr/sbin/cupsd -finit.d 脚本不会添加该标志。

简而言之 - 如果您想要一种适用于任何地方的解决方案,现在使用旧式 System V init.d 脚本。添加systemd支持,如果你有一些空闲资源,如果你有足够的资源,你当然可以分别支持三个系统(对用户来说最大的好处,但工作量很大)。

我会亲自创建 init.d + systemd 脚本并且不会关心 Upstart 。机会是 systemd will soon replace upstart ( also look here ) 和 init.d 脚本将在其余的 UNIX-es 上保持可用。

关于portability - 可移植初始化脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27354700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com