1

我有一个基于 Systemd 的生产环境和一个基于 Runit 的测试环境(由于某种原因,我无法更改它)。我的问题是,每当我创建服务时,我都需要 Systemd 和 Runit 版本来复制编码和测试工作。有没有办法让我的 systemd 生产服务以某种方式在测试环境中与 Runit 一起工作?例如,我知道 Systemd 与 Upstart 和 SysV 兼容,所以如果我为它们提供两个服务,我可以在 Systemd 上使用它们。我想知道 Runit 和 Systemd 之间是否也可以这样。如果这是可能的,我该怎么做?

4

1 回答 1

1

在 systemd 下使用 runit 的服务管理套件非常容易。如果您使用的是 Debian 或基于 Arch 的系统,您需要做的就是安装 runit-systemd 软件包。所做的是安装 runit 的进程监控套件,设置一个空的服务目录,并安装一个简单的 systemd 服务单元,在该目录上执行 runsvdir。

但是,由于 systemd 故意将进程监督设计为 PID 1 的一部分,因此目前无法在其他 init 系统(如 runit)下运行 systemd 的服务管理。

于 2019-10-16T16:12:27.007 回答